Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/huangzworks/ooredis
基于 redis-py 之上的一个 Mapper ,让你以更 pythonic 的方式来操作 Redis 。
https://github.com/huangzworks/ooredis
Last synced: 12 days ago
JSON representation
基于 redis-py 之上的一个 Mapper ,让你以更 pythonic 的方式来操作 Redis 。
- Host: GitHub
- URL: https://github.com/huangzworks/ooredis
- Owner: huangzworks
- Created: 2011-08-05T03:36:09.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2014-07-28T14:03:08.000Z (over 10 years ago)
- Last Synced: 2024-08-08T20:42:08.562Z (3 months ago)
- Language: Python
- Homepage:
- Size: 370 KB
- Stars: 63
- Watchers: 7
- Forks: 15
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGE_LOG
Awesome Lists containing this project
README
OOREDIS
=======OORedis 是一个 Redis 的 Python 库,它基于 redis-py ,具有以下三个主要功能:
- 以 Key 对象为单位操作 Redis 的数据结构
- 提供一组 Pythonic 的 API
- 提供方便的类型转换机制用例
------::
>>> from ooredis import *
>>> connect()
>>>
>>> project = Dict('project-info')
>>> project['name'] = 'OORedis'
>>> project['description'] = 'A Python-to-Redis mapper'
>>> project['language'] = 'Python'
>>> project.items()
[('name', 'OORedis'), ('description', 'A Python-to-Redis mapper'), ('language', 'Python')]
>>>
>>> book_list = Deque('my-book-list')
>>> book_list.append('SICP')
>>> book_list.append('The Joy of Clojure')
>>> book_list.append('Real World Haskell')
>>> list(book_list)
['SICP', 'The Joy of Clojure', 'Real World Haskell']
>>> book_list.pop()
'Real World Haskell'
>>>
>>> my_friend = Set('my-friend')
>>> my_friend.add('peter')
>>> my_friend.add('jack')
>>> my_friend.add('mary')
>>> your_friend = set(['peter', 'bob', 'yui'])
>>> my_friend ^ your_friend
set(['yui', 'bob', 'mary', 'jack'])
>>> my_friend & your_friend
set(['peter'])
>>> my_friend
Set Key 'my-friend': set(['peter', 'mary', 'jack'])
>>> my_friend &= your_friend
>>> my_friend
Set Key 'my-friend': set(['peter'])
>>>
>>> price = SortedSet('fruit-price')
>>> price['apple'] = 6.5
>>> price['banana'] = 3.2
>>> price['cherry'] = 4
>>> price
Sortedset Key 'fruit-price': [{'score': 3.2, 'value': 'banana'}, {'score': 4.0, 'value': 'cherry'}, {'score': 6.5, 'value': 'apple'}]
>>> for p in price:
... print(p)
...
{'score': 3.2, 'value': 'banana'}
{'score': 4.0, 'value': 'cherry'}
{'score': 6.5, 'value': 'apple'}
>>> for p in reversed(price):
... print(p)
...
{'score': 6.5, 'value': 'apple'}
{'score': 4.0, 'value': 'cherry'}
{'score': 3.2, 'value': 'banana'}文档
------更多代码示例和具体用法,请参考在线文档: `http://ooredis.readthedocs.org/ `_
测试
------注意:\ **测试将清空 Redis 的 0 号数据库**\ ,请谨慎操作。
::
$ git clone git://github.com/huangz1990/ooredis.git
Cloning into ooredis...
remote: Counting objects: 112, done.
remote: Compressing objects: 100% (81/81), done.
remote: Total 112 (delta 38), reused 102 (delta 28)
Receiving objects: 100% (112/112), 68.03 KiB | 44 KiB/s, done.
Resolving deltas: 100% (38/38), done.
$ cd ooredis/
$ nosetests
.................................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 321 tests in 5.803sOK
已知问题
-----------因为以下一些已知问题,本软件仍处于试验期当中,请不要在大数据量或者生产环境使用本软件:
- 带有全局变量
- 少数几个方法实现带有竞争条件
- 有一些操作,比如 ``__iter__`` ,需要一次性取出数据库中的所有元素,另外,有部分操作的实现效率并不是最优的。
以上问题将会在以后的版本中逐渐改进。
许可
------本软件由 huangz 编写,
你可以在免费且自由的情况下,下载、使用、修改本软件,如果你需要其他许可,
请使用以下方式与我取得联系:twitter: `@huangz1990 `_
gmail: huangz1990
豆瓣: `www.douban.com/people/i_m_huangz `_