Python版的LevelDB cpy-leveldb

openkk 13年前發布 | 28K 次閱讀 Python NoSQL數據庫 leveldb

cpy-leveldb是在leveldb(google 開源的高性能key-value數據庫)的 C API 基礎上開發的 python 綁定,目前支持leveldb 的 Put, Get, Delete, Write操作,以及 WriteBatch 的原子更新操作,WriteBatch 還可以通過將多個更新放到同一個 batch 里,在存在大量更新操作時,加速它們的執行,此外,cpy-leveldb 還支持快照(Snapshot),迭代器(Iterator),使 LevelDB 的功能最大化的在 Python 中得到實現。

cpy-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'

項目主頁:http://www.baiduhome.net/lib/view/home/1322745130421

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!