Redis中的zset有序集合,采用鍵值對的形式,將成員名對應(yīng)分?jǐn)?shù)值,存放在zset集合中,并依據(jù)分?jǐn)?shù)值對成員進(jìn)行排序。
操作命令:
1、添加
命令行:zadd zsetname value name
py代碼:redis.zadd(zsetname, value, name)
2、查看集合成員數(shù)
命令行:zcard zsetname
3、查看指定范圍的成員
命令行:zrange zsetname 0 -1 ** (0為開始, -1為結(jié)束,順序輸出成員名)
命令行:zrange zsetname 0 -1 withscores** (帶參數(shù)顯示分?jǐn)?shù))
4、獲取zset成員下標(biāo),不存在則返回null
命令行:zrank zsetname name
5、獲取zset集合指定分?jǐn)?shù)之間存在的成員個數(shù)
命令行:zcount zsetname 1 3 (輸出分?jǐn)?shù)大于1,小于3的成員個數(shù)分?jǐn)?shù)可重復(fù),成員名不行)
6、獲取指定成員的分?jǐn)?shù)
命令行:zscore zsetname name
7、刪除一個或多個成員
命令行:zrem zsetname name1 name2
8、給指定成員的分?jǐn)?shù)進(jìn)行增減操作
命令行:zincrby zsetname 10 name ** (為name加10分,負(fù)數(shù)為減)
9、根據(jù)指定分?jǐn)?shù)的范圍取成員名
命令行:zrangebyscore zsetname 1 50 ** (輸出分?jǐn)?shù)大于1小于50的成員名稱)
命令行:zrangebyscore zsetname 1 5 limit 1 2 (獲取分?jǐn)?shù)大于1小于5的數(shù)據(jù)并從下標(biāo)為1的數(shù)據(jù)開始往后輸出2個數(shù)據(jù))
10、倒序
命令行:zrevrange zsetname 2 4 (倒序排列數(shù)據(jù)后輸出下標(biāo)為2-4之間的數(shù)據(jù))
命令行:zrevrange zsetname 2 4 withscores (顯示分?jǐn)?shù))
11、根據(jù)坐標(biāo),分?jǐn)?shù)范圍刪除數(shù)據(jù)
命令行:zremrangebyscore zsetname 1 3 ** (刪除分?jǐn)?shù)大于1小于3的數(shù)據(jù))
命令行:zremrangebyrank zsetname 1 3(刪除下標(biāo)為1-3之間的數(shù)據(jù))
12、求多個zset的并集
命令行:zunionzstore newzset 2 zset1 zset2 (將zset1和zset2的并集添加到newzset中)
命令行:zinterstore newzset 2 zset1 zset2**(將zset1和zset2的交集添加到newzset中)
py-redis操作
