用于磁盘上密钥/值数据库电梯的python客户端

py-elevator的Python项目详细描述


====
py elevator
===


*py elevator*是"elevator"的python客户机<;http://github.com/oleiade/elevator>;```,一个用python编写并基于leveldb的键值存储,允许在磁盘上进行高性能的批量读/写。

允许异步,对多级数据库后端的多线程和/或远程访问。

图片::http://api.flattr.com/button/flattr badge large.png
:目标:https://flattr.com/submit/auto?用户id=oleiade&url=http://github.com/oleiade/py elevator&title=py elevator&;language=&;tags=github&;分类=软件




==========




================>
-leveldb
-pyzmq(用zmq-3.x造的)
-plyvel



deb.oleiade.com"debian"Debian知识库公开了``libzmq3``````libzmq3开发`````````liblibleveldb1````````````liblibleveldb1`````````````libzmqqq和``libleveldb1 dev``包,以便依赖关系管理。只需将以下行添加到`/etc/apt/sources.list`:

…代码块::bash

deb http://deb.oleiade.com/debian oneiric main




`有关服务器使用和实现的详细信息的文档代码块::python

>;>;来自pyelevator import elevator

e.listdb()
['default',]


>创建一个数据库;e.create db('testdb')
>>>gt;e.listdb()
>['default','testdb',]

>
>>并将您的客户端绑定到新的数据库;e.connect('testdb')

>
>>
>>>
>>>>>>默认值;e.connect('testdb')

>请注意,您无法连接到一个还不存在的数据库,但却还不存在的数据库;请注意,您无法连接到一个还不存在的数据库,而且还不存在的数据库还不存在的数据库。请注意,br/>>;>;e.connect('dbthatdoesntexist')
数据库错误:"数据库不存在"

请注意,它的所有文件
也将被删除。
>;>e.repairdb()
>;>e.dropdb('testdb')


通过使用其路径创建它。
>;>e.createDB('/path/to/my/existing/levelDB')
>;>e.listdb()
['default','/path/to/my/existing/levelDB',]



batch=e.writebatch()



与数据库交互:
----

…代码块::python

>;>;来自pyelevator import elevator
>;>;e=elevator();n.b:连接到"默认值"

>;>;e.put('abc','123')
>;>;e.put('easy as','do re mi')
>;>;e.get('abc')
'123'
>;>;e.mget(['abc','easy as','you andme'])
['123','do re mi',none]
>;>e.delete('abc')
>;>x范围内的i(10):
…E.Put(str(i), str(i))

# Range supports key_from, key_to params
>>> E.Range('1', '9')
[['1','1'],
['2','2'],
['3', '3'],
['4', '4'],
['5', '5'],
['6', '6'],
['7', '7'],
['8', '8'],
['9', '9'],
]

# Or key_from, limit params
>>> e.切片('1',2)
[['1','1'],
['2','2'],
]

>;使用elevator('testdb')作为e:
>;…e.get('1')
>;
'1'

通过writebatch client module类使用它。
它有三个基于leveldb的put、delete、write的基本方法。

。代码块::python

>;>;>;batch=writebatch()
>;>;batch=writebatch('testdb')

>;>;batch.put('a','a')
>;>;batch.put('b','b')
>;>;batch.put('c','c')
>;>;batch.delete('c')
>;>;batch.write()

>;>;e=elevatitor()
>;>e.get('a')
'a'
>;>e.get('b')
'b'
>;>e.get('c')
keyrerror:"找不到密钥"

stdb')作为批:
>;…batch.put('abc','123')
>;…batch.put('or simple as…','do re mi')
>;




*代码简洁明了,如果您需要有关其用法的更多详细信息,请随时深入了解。*

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java爬虫获取外部网站搜索结果   java Bluestack未连接到eclipse   java如何从ConstraintViolationException Hibernamte获取数据库字段名   HttpResponse HttpResponse=httpClient引发java运行时错误。执行(httpPost);   Jama中矩阵的java点积和叉积   java有什么方法可以唯一地识别可扩展设备吗?   java我需要用*来写我的名字,但我不断遇到一个错误,我对编码很陌生   java变量是在内部类中访问的。需要被宣布为最终决定。但我不想宣布最终结果   java如何缩短base64图像字符串,Android?   JavaSpringMVC:计划方法不自动触发   图形学习Java 2D API的好资源是什么?   如何在java中对方法进行排队   java JavaFX多行   java Selenium无法在[链接]上找到基于CSS元素的密码字段元素http://www.cartasi.it/gtwpages/index.jsp   Java中的equals()和hashCode()契约   软删除情况下的java Hibernate二级缓存   java为什么这段代码要两次调用这些方法?