【文件属性】:
文件名称:Python版的LevelDBcpy-leveldb.zip
文件大小:275KB
文件格式:ZIP
更新时间:2022-08-06 00:19:47
开源项目
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'
联系作者:haipingf@gmail.com(http://my.oschina.net/forhappy2010)
标签:cpyleveldb
【文件预览】:
cpy-leveldb-master
----src()
--------initmodule.c(3KB)
--------range_iterator.c(6KB)
--------iterator.h(1KB)
--------snapshot.h(1KB)
--------write_batch.h(1KB)
--------iterator.c(8KB)
--------leveldb.c(22KB)
--------snapshot.c(5KB)
--------write_batch.c(6KB)
--------leveldb.h(3KB)
--------range_iterator.h(1KB)
----doc()
--------cPyLevelDB.pdf(174KB)
--------sphinx()
--------tut.txt(109B)
--------html()
----LGPL-2.1(26KB)
----LICENSE(855B)
----test()
--------test-leveldb.py(3KB)
--------test-iterator-all-key.py(390B)
--------test-iterator.py(930B)
--------test-writebatch.py(350B)
--------test-getapproximatesizes.py(475B)
--------test-comparator.py(398B)
--------test-iterator-range.py(520B)
--------test-snapshot.py(599B)
----setup.py(2KB)
----README.md(2KB)
----README(2KB)