cpy-leveldb:Python 版的 LevelDB
- Ken - python.cn(jobs, news)>>> db.Get("2")
'222'
>>> db.Get("5")
''
>>> db.Write(batch)
>>> db.Get("5")
'hello world 5'
>>> db.Get("2")
'hello world 2'
>>> iter = leveldb.Iterator(db)
Iterator_init executed.
cpy-leveldb是在leveldb(google开源的高性能key-value数据库)的 C API 基础上开发的 python 绑定,目前支持leveldb 的 Put, Get, Delete, Write操作,以及 WriteBatch 的原子更新操作,WriteBatch 还可以通过将多个更新放到同一个 batch 里,在存在大量更新操作时,加速它们的执行,此外,cpy-leveldb 还支持快照(Snapshot),迭代器(Iterator),使 LevelDB 的功能最大化的在 Python 中得到实现。
下面是其示例代码:
>>> import leveldb >>> db = leveldb.LevelDB("/tmp/leveldb") >>> db.Put("1", "111") >>> db.Put("2", "222") >>> db.Put("3", "333") >>> db.Get("1") '111' >>> db.Get("3") '333' >>> db.Get("2") '222' >>> batch = leveldb.WriteBatch() >>> for i in xrange(20): ... batch.Put(str(i), "hello world %i" % i) ... >>> db.Get("2") '222' >>> db.Get("5") '' >>> db.Write(batch) >>> db.Get("5") 'hello world 5' >>> db.Get("2") 'hello world 2' >>> iter = leveldb.Iterator(db) Iterator_init executed. >>> iter.First() >>> iter.Key() '0' >>> iter.Value() 'hello world 0' >>> iter.Last() >>> iter.Key() '9' >>> iter.Value() 'hello world 9' >>> iter.First() >>> iter.Next() >>> iter.Key() '1' >>> iter.Next() >>> iter.Key() '10' >>> iter.Next() >>> iter.Key() '11' >>> iter.Value() 'hello world 11'
联系作者:[email protected] (http://my.oschina.net/forhappy2010)
项目地址:http://github.com/forhappy/cpy-leveldb
# 来源:NoSQLFan
最新招聘