HadiDB:Python 中的轻量级、可水平扩展的数据库

HadiDB:Python 中的轻量级、可水平扩展的数据库

HadiDB:轻量级、高水平可扩展的Python数据库

HadiDB (hadidb) 是一个用Python编写的轻量级数据库,具备高度水平的可扩展性。

安装HadiDB

使用pip安装:

pip install hadidb

用户管理

创建用户:createuser() 方法创建一个新用户。authentication() 方法验证用户身份。

from hadidb.operation import user

user_obj = user("admin", "admin")
user_obj.createuser()  # 创建用户
user_obj.authentication()  # 验证用户

返回结果示例:

{'status': 200, 'message': 'database user created'}

数据库、集合和模式创建

以下代码片段展示了如何设置用户凭据、数据库集合架构,以及如何插入数据。

from hadidb.operation import operation

username = "admin"
password = "admin"
database = "mefiz.com"
collection = "authuser"

schema = {
    "username": "unique",
    "password": "hash",
    "cnic": "unique",
    "picture": "image",
    "bio": "text"
}
db = operation(username, password, database, collection)
db.create_database(schema)

数据操作

  • 插入数据: db.insert(data) 方法插入数据。
data = {
    "username": "hadidb",
    "password": "12345",
    "cnic": "123232442",
    "picture": "user/my/hadidb.jpg",
    "bio": "hadidb is the best ;)"
}
result = db.insert(data)
print(result)

返回结果示例:

{
'status': 200, 
'message': 'data insert successfully',
'data': {
    'username': 'hadidb', 
    'password': '12345', 
    'cnic': '123232442', 
    'picture': 'user/my/hadidb.jpg', 
    'bio': 'hadidb is the best ;)',
     'id': 1
     }
}
  • 更新数据: db.update(1, update_data) 方法更新数据。
update_data = {
    "username": "hadidb_update",
    "password": "123455",
    "cnic": "1232324423",
    "picture": "user/my/hadidb1.jpg",
    "bio": "hadidb is the best ;) update bio"
}
result = db.update(1, update_data)
print(result)
  • 按ID获取数据: db.getbyid(1) 方法按ID获取数据。

  • 获取所有数据: db.getall() 方法获取所有数据。

  • 按键获取数据: db.getbykey() 和 db.getbykeys() 方法按键获取数据。

  • 计数: db.count() 方法统计数据数量。db.getbykeycount() 方法统计指定键值对匹配的数据数量。

  • 删除数据: db.delete(1) 方法删除数据。

数据库和集合管理

  • 获取所有数据库: configuration().get_database() 方法获取所有数据库。

  • 获取所有集合: configuration(database).get_collection() 方法获取指定数据库的所有集合。

  • 获取模式: configuration(database, collection).get_schema() 方法获取指定集合的模式。

  • 删除集合: databasedeletionservice().deletecollection() 方法删除集合。

  • 删除数据库: databasedeletionservice().deleteDatabase() 方法删除数据库。

项目链接

  • GitHub: https://www.kunjuke.com/link/e8630344970962450dbedfcd4cc6d718
  • 网站: https://www.kunjuke.com/link/2c6037040bf5058a44be4c0397611909
  • 开发者: 莫明·伊克巴尔

这个版本对原文进行了重新组织和润色,使其更清晰易读,并对代码部分进行了格式化,使其更易于理解。 所有图片链接都保留了。

以上就是HadiDB:Python 中的轻量级、可水平扩展的数据库的详细内容,更多请关注昆居客【www.kunjuke.com】。

相关推荐:

苹果新 iPhone 相机防抖专利公示:机械校正保持画面水平

7 月 2 日消息,科技媒体 PatentlyApple 昨日(7 月 1 日)在 X 平台发布博文,报道称在苹果最新获批的相机防抖专利中,未来 iPhone 相机模块可能通过物理旋转图像传感器,校正设备相机滚动产生的画面倾斜。相机滚动(Camera Roll)是指相机绕自身光轴发生旋转,导致画面中的地平线不水平、垂直物体相对画面边缘倾斜,常见于手持拍摄照片或视频时的轻微转腕动作,是造成画面“歪斜...

Jabra(捷波朗)扩展 Evolve3 专业办公耳机家族,带来 3 款新品

感谢网友 华南吴彦祖 的线索投递! 7 月 2 日消息,Jabra(捷波朗)今年 1 月推出了其兼顾消费级舒适体验的 Evolve3 系列专业办公耳机。而在当地时间 7 月 1 日,Jabra 在首发的 85 / 75 后为该系列追加推出 65 Flex / 65 / 45 三款新品。此次的新品中 Evolve3 65 Flex 专为办公地点不固定的工作量身打造,采用可折叠的无麦克风杆设计让携带变...

在火狐 Firefox 安装“所有”扩展会发生什么:打开浏览器就得 40 分钟,几乎无法使用

感谢网友 Coje_He 的线索投递! 4 月 11 日消息,火狐 Firefox 浏览器一共有 8.4 万个扩展,全部加起来不到 50GB。而玩家 Jack W.最近突发奇想,尝试将这 8.4 万个扩展一股脑装到电脑上。这名玩家在 4 月 9 日更新的博文中表示,Mozilla 插件商店具有公开 API,没有限速、认证等反爬虫措施,因此看起来可以很轻松地把所有扩展下载下来。最初他通过分页方式抓取...

Anthropic计划将Project Glasswing扩展至15国约200家机构

6月3日消息,techcrunch报道称,anthropic公司于本周二宣布,将其联合行业倡议project glasswing正式拓展至全球15个国家及地区的约150家新增机构。 作为该计划技术核心的,是Anthropic当前性能最强的AI模型——Claude Mythos。自今年4月向首批50家合作单位开放预览以来,该模型已成功识别出逾10,000个高危或严重级别的安全漏洞。此次新纳入的机构主...

OpenAI扩展Codex功能 将集成至ChatGPT应用

6月3日消息,据9to5mac报道,openai宣布将对旗下智能编程助手codex进行功能升级,并预计在“未来数周内”把其核心能力全面接入全球范围的chatgpt应用。 在主题为“工作中的人工智能”的线上发布会上,OpenAI正式推出六款面向企业用户的全新插件,覆盖销售管理、数据分析、创意内容生成、产品原型设计、公开市场投资以及投行业务等关键场景。这些插件已实现与Salesforce、Figma、...
· AI · 178027

Fiddler插件怎么安装使用 Fiddler扩展功能操作方法【技巧】

必须先安装并重启Fiddler才能启用HTTPS抓包、自动改头、批量重放及JS注入等插件功能;安装后通过菜单、状态栏按钮或FiddlerScript调用,并需配置HTTPS解密与根证书信任。 要在Fiddler中启用HTTPS抓包、自动修改请求头、批量重放接口或注入JavaScript脚本,必须先正确安装并启用对应插件,否则所有扩展功能均不可用。 下载并安装Fiddler扩展(.fiddle文件)...

Qoder怎么连接MySQL数据库 Qoder数据库驱动安装方法【教程】

Qoder集成MySQL需四步:一、安装PyMySQL并验证;二、在config/database.py中配置完整连接参数;三、在app.py中初始化Database实例并挂载至app.state.mysql;四、可通过环境变量动态注入配置;五、用SELECT VERSION()验证连接。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果...
· AI · 54736

Notion AI怎样续写文章_Notion AI智能续写与内容扩展【攻略】

Notion中AI续写需用四种方法:一、“Continue writing”快捷指令;二、手动输入“. ”加明确提示词;三、“/ai”命令框定向扩展;四、嵌入AI Block后点“Write more”。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果您在Notion中使用AI撰写文章时遇到内容中断或需要延伸已有段落,则可能是由于未触发...
· AI · 247813