redis数据存储库

radishsalad的Python项目详细描述


radishsalad是一个简单的lib,用于以更pythonic的方式处理redis数据存储。

它包括表示redis数据类型的string、hash、list和set类。 您需要使用键初始化数据类型:

>>> dt.List('main stream').append('Blogger Navalniy discovered new corruption scheme in Russia!')
1L
>>> list(dt.List('main stream'))
['Blogger Navalniy discovered new corruption scheme in Russia!']
>>> up = dt.Hash('0:user profile')
>>> up['name'] = 'deepwalker'
>>> dict(up)
{'name': 'deepwalker'}
>>> 'name' in up
True
>>> friends = dt.Set('friends')
>>> friends.add(1929340)
>>> set(friends)
set(['1929340'])
>>> 1929340 in friends
True

型号

Radishsalad具有未定位为django orm的模块。只是个帮手 用于密钥名称生成。 因此您可以创建一个模型:

>>> from radishsalad import models as m
>>> class User(m.Model):
...      name = m.String()
...      subscribers = m.Set()
...      profile = m.Hash()
...      messages = m.List()
...      read = m.List()
...

使用时,您需要使用以下键对其进行初始化:

>>> user = User(1000)

现在您有了用户实例,您可以为它的成员获取密钥:

>>> user.name.get_key()
'user:1000:name'

库不会返回字符串而不是string在redis.mget中使用的对象:

>>> from radishsalad.connection import get_redis
>>> r = get_redis()
>>> r.mset(dict((User(i).name.get_key(), i) for i in xrange(40)))
>>> r.mget(User(i).name.get_key() for i in xrange(40))
['0', '1', '2', '3', '4', '5', '6', '7', ... '38', '39']

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

推荐PyPI第三方库


热门话题
java JTable无法向新创建的列添加值   java如何调整JEditorPane中编辑区域的大小?   Java通过反射确定未知数组中的数组大小   java Intellij Idea有时无法按其预期的方式构建应用程序   java Swing GUI带有IntelliJ错误“contentPane不能设置为null”从终端编译时   如何将这些通用方法调用从C#转换为Java   在null上找不到java属性或字段“index”   从Java HashMap获取整数值时是否需要调用intValue()方法?   java Android谷歌地图获取相机中的图像块   unix无法捕获JAVA中“who m”命令的输出   java,同时将邮件发送到“收件人”标题“我”中的多个收件人   在java中向链表添加未知数量的节点   无法为Heroku上的discord bot设置java端口   java使用Apache HttpClient进行选项请求   与元素类型“ApplicationName”关联的属性“Application Version”需要java Open quote   Android Studio Java中的两个变量求和