Pythonic redis client.
redisworks的Python项目详细描述
**redisworks 0.2.7**
**pythonic redis客户端**
为什么要redisworks?
-懒惰的redis查询
-动态类型
-易用性
您是否使用过pyredis,并想知道为什么您必须一直考虑类型?你必须不断地把对象转换成字符串,来回转换,因为redis把大多数东西都保存为字符串?
这就是我写redisworks的原因。redis works为redis提供了一个pythonic接口。让redisworks为您处理类型转换。
幕后,redisworks使用[dotobject](https://github.com/seperman/dotobject)提供漂亮的点号对象和懒惰的redis查询。
**设置**
>假设您希望redis中的所有键都以“根”开头。
然后您:
setup
>;根=根()默认连接到本地主机上的redis
,或者如果您想更具体一些:
setup
>;>;根=根(主机='local host',端口=6379,db=0)
**保存到redis**
>;>>导入日期时间
>;>>根=根()
>;>>根.my.list=[1,3,4]
>;
>;>>某些日期=日期时间。日期时间(2016,8,22,10,3,19)
>;根时间=某些u日期
>;
>;>>;根。映射。示例={1:1,“a”:“b”}
redis works将自动将对象转换为正确的redis类型,并在分配元素后立即将其写入redis!
上述项的相应键将与您在redis cli客户端中键入的一样:`root.my.list`,`root.time`,`root.the.mapping.example`:
redis cli
127.0.0.1:6379>;扫描0
>1)“0”
>2)1)“根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.表
127.0.0.0.0.1:6379根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.
Redis公司works返回惰性查询,就像django返回惰性查询一样。实际上,lazy对象代码是从django中借用的!
如果您从[saving to redis](saving to redis)运行示例,请运行flush`root.flush()`以清空redisworks缓存。这样,它就可以从redis获取对象,而不是读取自己的当前数据副本:
read from redis
>;>from redisworks import root
>;>import datetime
>;>root=root()
>;>the time=root.time
>;>the list=root.my.list
>;>;mydict=root.the.mapping.example
>;>gt;mydict尚未被规避!
<;lazy object:root.the.mapping.example>;
>;>print(mydict)
{1:1,'a':'b'}现在所有3个对象都从redis读取!
>;>mydict
{1:1,'a':'b'}
>;>root.my.list
[1,3,4]
>;>gt;根。时间
2016-08-22 10:03:19
**其他示例**
**主要作者**
sep dehpour
zepworks:http://www.zepworks.com
**pythonic redis客户端**
为什么要redisworks?
-懒惰的redis查询
-动态类型
-易用性
您是否使用过pyredis,并想知道为什么您必须一直考虑类型?你必须不断地把对象转换成字符串,来回转换,因为redis把大多数东西都保存为字符串?
这就是我写redisworks的原因。redis works为redis提供了一个pythonic接口。让redisworks为您处理类型转换。
幕后,redisworks使用[dotobject](https://github.com/seperman/dotobject)提供漂亮的点号对象和懒惰的redis查询。
**设置**
>假设您希望redis中的所有键都以“根”开头。
然后您:
setup
>;根=根()默认连接到本地主机上的redis
,或者如果您想更具体一些:
setup
>;>;根=根(主机='local host',端口=6379,db=0)
**保存到redis**
>;>>导入日期时间
>;>>根=根()
>;>>根.my.list=[1,3,4]
>;
>;>>某些日期=日期时间。日期时间(2016,8,22,10,3,19)
>;根时间=某些u日期
>;
>;>>;根。映射。示例={1:1,“a”:“b”}
redis works将自动将对象转换为正确的redis类型,并在分配元素后立即将其写入redis!
上述项的相应键将与您在redis cli客户端中键入的一样:`root.my.list`,`root.time`,`root.the.mapping.example`:
redis cli
127.0.0.1:6379>;扫描0
>1)“0”
>2)1)“根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.表
127.0.0.0.0.1:6379根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.根.
Redis公司works返回惰性查询,就像django返回惰性查询一样。实际上,lazy对象代码是从django中借用的!
如果您从[saving to redis](saving to redis)运行示例,请运行flush`root.flush()`以清空redisworks缓存。这样,它就可以从redis获取对象,而不是读取自己的当前数据副本:
read from redis
>;>from redisworks import root
>;>import datetime
>;>root=root()
>;>the time=root.time
>;>the list=root.my.list
>;>;mydict=root.the.mapping.example
>;>gt;mydict尚未被规避!
<;lazy object:root.the.mapping.example>;
>;>print(mydict)
{1:1,'a':'b'}现在所有3个对象都从redis读取!
>;>mydict
{1:1,'a':'b'}
>;>root.my.list
[1,3,4]
>;>gt;根。时间
2016-08-22 10:03:19
**其他示例**
sep dehpour