redis的对象键映射器

ok-redis的Python项目详细描述


Build statusPython versionsMonthly downloadsSoftware license

redis的对象键映射器

如果您在python上使用过redis,那么必须处理redis键。 有时,lots个redis键。这么多钥匙,做起来很容易 错误,尤其是因为键只是字符串。我构建了ok,以便 我不需要使用redis键的字符串。

使用方法如下:

importokimportredisclassUser(ok.Key):fields=['timeline','followers','following']# Get user mixxorz' timeliner=redis.StrictRedis()r.zrevrange(User('mixxorz').timeline,0,50)# ZREVRANGE User:mixxorz:timeline 0 50

管理你的钥匙变得不那么脆弱了。

安装

从pypi安装它

$ pip install ok-redis

用法

访问字段。

classUser(ok.Key):fields=['timeline','followers','following']print(User('mixxorz').timeline)# User:mixxorz:timeline

链条钥匙。

classCity(ok.Key):fields=['tweets_hll']classCountry(ok.Key):subkeys=[City]print(Country('PH').City('Manila').tweets_hll)# Country:PH:City:Manila:tweets

子键可以是键的绝对路径或相对路径。

# mod_one.pyclassRefer(Key):fields=['elements']# mod_two.pyclassParent(Key):subkeys=['..mod_one.Refer']print(Parent('foo').Refer('bar').elements)# Parent:foo:Refer:bar:elements

键实例的字符串表示是键,因此您可以像 这个:

classUser(ok.Key):passr.get(User('mixxorz'))

但是您也可以显式地访问密钥。

User('mixxorz').key# >>> User:mixxorz

ID是可选的。

classUser(ok.Key):fields=['rankings']print(User().rankings)# User:rankings

id不必是字符串

classUser(ok.Key)passprint(User(123))# User:123

您可以更改用于键的字符串。

classFacebook(ok.Key):fields=['all_posts']class_key='fb'print(Facebook().all_posts)# fb:all_posts

许可证

麻省理工学院

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

推荐PyPI第三方库


热门话题
java筛选hibernate中引用的属性   java如何在Bluej中创建以long(integer)为参数的对象   java如何通过JDBC在access中创建新字段   java如何获取格式化日期?   用模板方法模式设计过滤器接口   java编译错误:缺少返回语句   java从JOOQ中的代码生成中排除特定的模式   java小程序生命周期:init()和start()与destroy()和stop()之间的实际区别是什么?   如何在Java中获取类的所有公共静态方法?   匿名onClick方法内的java活动结果   java如何从数千个具有良好性能的寄存器构建excel工作表?   标记Java中多级中断的适当使用   网络化基于Java的Telnet代理服务器,支持TLS。但为什么是java。网SocketException:连接被拒绝   java将magnolia升级到5.6.1,vaadin资源   springcloudnetflixhystrix中的java重写HystrixCommandSpect bean