PickleDB 轻量级数据库 – Python 键值存储库

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

简介

PickleDB 是一款纯 Python 编写的轻量级键值数据库,无需安装额外服务器或依赖。该库以 JSON 格式存储小规模数据,是快速原型开发、CLI 工具、配置文件管理及微型项目的理想选择。

PickleDB 的核心优势在于使用简单,同时具备足够的功能来应对多种数据存储场景。它支持字符串、数字、列表、字典和布尔值等多种数据类型。

什么是 PickleDB 及其应用场景

PickleDB 是一种 NoSQL 数据库,以键值对形式将数据存储在 JSON 文件中。它专为那些使用 PostgreSQL 或 MySQL 等完整数据库系统显得过于臃肿的场景而设计。

PickleDB 的主要应用场景包括:

  • 存储用户设置和配置信息
  • 缓存中间计算结果
  • 保存授权令牌和 API 密钥
  • 记录简单日志和计数器
  • 创建具有数据持久性的快速原型
  • 开发本地存储的 CLI 应用程序

安装与初始配置

使用 Python 标准包管理器即可安装 PickleDB:

pip install pickledb

安装后无需额外配置即可直接使用:

import pickledb

# 创建或连接数据库
db = pickledb.load('database.db', auto_dump=True)

参数 auto_dump=True 可确保所有更改自动保存到文件,即使在程序意外终止时也能保证数据安全。

架构与工作原理

数据存储结构

PickleDB 使用 JSON 作为存储格式,确保数据可读且跨平台可移植。数据库文件是一个普通的 JSON 文档,结构如下:

{
  "simple_key": "字符串值",
  "numeric_key": 42,
  "boolean_key": true,
  "list_key": ["元素1", "元素2", "元素3"],
  "dict_key": {
    "nested_field": "嵌套值",
    "nested_number": 100
  }
}

保存机制

使用 PickleDB 时,所有数据在数据库初始化时加载到内存中。更改会应用于内存中的对象,然后根据设置保存到文件:

  • 当 auto_dump=True 时,每次写入操作后自动保存
  • 当 auto_dump=False 时,需要手动调用 dump() 方法

PickleDB 方法完整参考

核心数据操作方法

方法 描述 使用示例
set(key, value) 按键保存值 db.set('name', '小明')
get(key) 按键获取值 name = db.get('name')
exists(key) 检查键是否存在 if db.exists('name'):
rem(key) 删除键及其值 db.rem('name')
getall() 返回所有键 keys = db.getall()
totalkeys() 返回键的总数 count = db.totalkeys

推荐