创建和读取快速常量数据库
speedyb的Python项目详细描述
简介
speedyb允许您创建和读取常量数据库。
- fast lookups
- database cannot be modified
- database can be shared by multiple processes without using more memory
- fast startup time
假设您有这样一个dict:
d = { 'Alice': '26 Pine Street', 'Bob': '54 Oak Drive' }
可以将此写入数据库文件: speedyb_writer.dict_to_文件(d,'my.db')
版权所有
版权所有2012 Asher Blum<;asher@wildsparx.com>;。 SpeedYB是根据BSD许可证授权的。
问题
q:为什么不将dict存储在json或pickle文件中并读取到 Python迪克特?
a:首先,加载dict的每个进程将分别分配 内存,而speedyb共享内存。其次,对于一个大的db 时间是很重要的,而对于speedyb来说,时间基本上是瞬间的。
q:SpeedYB与Berkeley DB、LevelDB等相比如何?
a:它明显更快,因为它是常数。
安装
签出源并运行python setup.py install。
使用SpeedYb
创建数据库
import speedyb_writer d = { ... } # data to store speedyb_writer.dict_to_file(d, 'new.db')
这将创建一个包含d的新数据库文件。可能会很慢。文件 创建时间与d中的键数成线性关系。
读取db
from speedyb_reader import speedyb_reader db = speedyb_reader('tiny.tmp') # open file res = db.get('Alice') # lookup a key
如果密钥不存在,则res为none。
$id:readme.rst,版本1.2 2012-06-04 04:59:31 asher exp$