jsonDB - 基于 JSON 的内存数据库


MIT
跨平台
Python

软件简介

jsonDB

jsonDB是一个基于JSON格式的内存数据库.它具有以下特点:

  • 轻量级. 无守护进程,无需任何额外的安装和配置,你只需要import jsonDb即可使用,非常方便.

  • NOSQL. 类似于mongoDb的非关系型数据库.

  • 内存数据库. 所有数据基于内存进行操作和访问,性能相对较高.目前版本的性能测试数据请
    参考reference文档.

  • 任意迁移. 数据库可以完整导出为外部文件,并且可以从外部文件导入.基于此,数据库可以
    进行任意的迁移,而无需做任何修改.

  • 灵活的数据类型. 一个数据集合(collection)中的数据,并不需要相同的格式.比如以下几种数据
    可以同时存在于一个collection中:
    {‘key1’:1},{‘key2’:’value’,’pic’:’value’},{‘key3’:’value’}

JsonDB使用Python语言实现,是一个github开源项目,遵循MIT的LICENCE,基本上可以不受限制用于任何用途。

该DB的接口大体模仿了mongoDB的风格,使用起来非常简单和顺手。

概念说明:

  • db: 即数据库. 创建一个jsonDb类的实例,即是创建了一个数据库.可以指定dbname和hash的长度.

  • collection: 数据集合(表). 一个collection可以理解为数据库中的一个表. collection不需要
    单独创建,当insert第一条数据,或者ensureKey时,系统会自动创建.

  • data: 数据. collection中的一条数据,或者是一个数据的list. data必须是dict字典类型,是一个
    key-value键值对.

安装

  1. 从源码安装,首先从github下载源码,jsonDb源码下载地址

    python setup.py install

功能说明:

创建数据库

实例化一个JSONDB类实例,即创建一个数据库.我们重载了__str__方法,所以可以通过print直接查看数据库的统计信息.

>>> from jsonDb.database import JSONDB >>> myDb = JSONDB('USER_DB') >>> print myDb

------ jdb statics ------
db_name: USER_DB
mem_collection: 0 bytes
mem_hash: 0 bytes
collection_num: 0 **** collection statics ****

更多详细使用说明请参考中文说明文档。