1.安装redis-py
因为在类Unix系统上都默认安装了Python,所以,本章节主要看看,怎么样用Python来操作Redis。 要让Python来操作Redis,你先要安装Python的Redis客户端redis-py库,库的github地址是:https://github.com/andymccurdy/redis-py。用git clone https://github.com/andymccurdy/redis-py 即可下载源码。进入下载的源码目录,使用sudo python setup.py install 就可以安装了。
在shell中启动python。 操作:python 结果: Python 2.7.10 (default, Jul 14 2015, 19:46:27) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin Type "help", "copyright", "credits" or "license" for more information.
现在,你可以导入redis模块。既可以进行编程操作了。
操作:>>> import redis
建立连接: 操作:>>> conn=redis.StrictRedis(host='localhost', port=6379, db=0)
初始化两个有序集合s-ta和s-tb
conn.zadd('s-ta',2,'b',-2,'c',4,'a') conn.zadd('s-tb',4,'b',1,'c',0,'a')
2. 范围及数据集合操作
2.1 ZREVRANK
解释:返回有序集合中指定成员所处的位置,成员按分值大小来排列的。
操作:conn.zrevrank('s-ta','a')
结果:0
操作:conn.zrevrank('s-ta','b')
结果:1
2.2 ZREVRANGE
解释:返回有序集合中在指定排名范围内的元素。
操作:conn.zrevrange('s-ta',1,2)
结果:['b', 'c']
操作:conn.zrevrange('s-ta',0,1)
结果:['a', 'b']
2.3 ZRANGEBYSCORE
解释:返回有序集合中,分值在指定范围内的元素。
操作:conn.zrangebyscore('s-ta',1,2)
结果:['b']
2.4 ZREVRANGEBYSCORE
解释:返回有序集合中,分值在指定范围内的元素,并按照分值从大到小排列。注意,要和ZRANGEBYSCORE中指定范围的方式区别开来。
操作:conn.zrevrangebyscore('s-ta',5,-2)
结果:['a', 'b', 'c']
操作:conn.zrevrangebyscore('s-ta',-2,5)
结果:[]
2.5 ZREMRANGEBYRANK
解释:删除有序集合中,分值的排名在指定的范围内是[a,b]的元素
操作:conn.zremrangebyrank('s-ta',0,1)
结果:2
操作:conn.zrange('s-ta',0,-1)
结果:['a']
2.6 ZREMRANGEBYSCORE
解释:和ZREMRANGEBYRANK的操作一样,只不过,他是用分值范围,而不是排名范围。
2.7 ZINTERSTORE(交集)
解释:将多个有序集合中的具有相同的成员进行聚合操作。你可以在操作的时候指定aggregate(聚合,分别有sum,min,max,默认是sum)。
操作:conn.zrange('s-ta',0,-1,withscores=True)
结果:[('a', 4.0), ('b', 10.0)]
操作:conn.zrange('s-tb',0,-1,withscores=True)
结果:[('a', 0.0), ('c', 1.0), ('b', 4.0)]
操作:conn.zrange('s-ti',0,-1,withscores=True)
结果:[]
操作:conn.zinterstore('s-ti',['s-ta','s-tb'])
结果:2L
操作:conn.zrange('s-ti',0,-1,withscores=True)
结果:[('a', 4.0), ('b', 14.0)]
操作:conn.zrange('s-ti-a',0,-1,withscores=True)
结果:[]
操作:conn.zinterstore('s-ti-a',['s-ta','s-tb'],aggregate='min')
结果:2L
操作:conn.zrange('s-ti-a',0,-1,withscores=True)
结果: [('a', 0.0), ('b', 4.0)]
2.8 ZUNIONSTORE(并集)
解释:将多个有序几个中的所有成员进行聚合操作。你可以在操作的时候指定aggregate(聚合,分别有sum,min,max,默认是sum)。
操作:conn.zrange('s-ti-b',0,-1,withscores=True)
结果:[]
操作:conn.zunionstore('s-ti-b',['s-ta','s-tb'],aggregate='min')
结果:3L
操作:conn.zrange('s-ti-b',0,-1,withscores=True)
结果:[('a', 0.0), ('c', 1.0), ('b', 4.0)]
来源:oschina
链接:https://my.oschina.net/u/197860/blog/525276