Redis - 排序集

Redis排序集与Redis集类似,具有存储在集合中的值的唯一特征.区别在于,排序集的每个成员都与一个分数相关联,该分数用于获取从最小到最高分数的有序排序集.

在Redis中排序设置,添加,删除和测试O(1)中成员的存在(恒定时间,不管集合中包含的元素数量).列表的最大长度为2 32  -  1个元素(4294967295,每组超过40亿个元素).

示例

redis 127.0.0.1:6379> ZADD tutorials 1 redis 
(integer) 1 
redis 127.0.0.1:6379> ZADD tutorials 2 mongodb 
(integer) 1 
redis 127.0.0.1:6379> ZADD tutorials 3 mysql 
(integer) 1 
redis 127.0.0.1:6379> ZADD tutorials 3 mysql 
(integer) 0 
redis 127.0.0.1:6379> ZADD tutorials 4 mysql 
(integer) 0 
redis 127.0.0.1:6379> ZRANGE tutorials 0 10 WITHSCORES  
1) "redis" 
2) "1" 
3) "mongodb" 
4) "2" 
5) "mysql" 
6) "4"

在上面的例子中,插入三个值,其得分在Redis排序集中,命名为'tutorials'命令 ZADD .

Redis排序集命令

下表列出了与排序集相关的一些基本命令.

Sr.No命令&说明
1ZADD key score1 member1 [score2 member2]

将一个或多个成员添加到已排序的集合中,或更新其分数(如果已存在)

2ZCARD键

获取有序集合中的成员数

3ZCOUNT key min max

计算排序集中的成员,其得分在给定值内

4
ZINCRBY密钥增量成员

增加已排序集合中成员的分数

5ZINTERSTORE目标numkeys键[key ...]

交叉多个有序集并将生成的有序集存储在新密钥中

6ZLEXCOUNT key min max

计算给定词典范围之间有序集合中的成员数量

7ZRANGE键开始停止[WITHSCORES]

按索引返回有序集合中的成员范围

8ZRANGEBYLEX key min max [LIMIT offset count]

按字典范围返回有序集合中的成员范围

9ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]

按分数

返回有序集合中的成员范围>
10ZRANK主要成员

确定有序集合中成员的索引

11ZREM关键成员[成员...]

从排序集中删除一个或多个成员

12ZREMRANGEBYLEX key min max

删除给定词典范围之间的有序集合中的所有成员

13ZREMRANGEBYRANK ke开始停止

删除给定索引中有序集合中的所有成员

14ZREMRANGEBYSCORE key min max

删除给定分数内有序集合中的所有成员

15ZREVRANGE键开始停止[WITHSCORES]

返回排序集中的一系列成员,按索引,分数从高到低排序

16ZREVRANGEBYSCORE key key min [WITHSCORES]

按分数返回有序集合中的成员范围,分数从高到低排序

17ZREVRANK关键成员

确定排序集中成员的索引,分数从高到低排序

18ZSCORE密钥成员

获取与已排序集合中给定成员关联的分数

19ZUNIONSTORE目的地数字键[键. ..]

添加多个有序集并将生成的有序集存储在新密钥中

20ZSCAN键光标[MATCH模式] [COUNT count]

递增迭代排序的元素和相关分数