Redis – 排序集

Redis – 排序集


Redis Sorted Sets 类似于 Redis Sets,具有将值存储在集合中的独特特征。不同之处在于,Sorted Set 的每个成员都与一个分数相关联,该分数用于从最小到最大分数排序的有序集合。

在 Redis 有序集合中,添加、删除和测试 O(1) 中成员的存在(恒定时间,无论集合中包含的元素数量如何)。列表的最大长度为 232 – 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" 

在上面的示例中,通过命令ZADD将三个值及其分数插入到名为“tutorials”的 Redis 排序集中

Redis 排序集命令

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

Sr.No 命令和描述
1 ZADD key score1 member1 [score2 member2]

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

2 ZCARD key

获取有序集合中的成员数

3 ZCOUNT key min max

用给定值内的分数计算排序集中的成员

4
ZINCRBY key increment member

增加排序集中成员的分数

5 ZINTERSTORE destination numkeys key [key …]

与多个排序集相交并将结果排序集存储在新键中

6 ZLEXCOUNT key min max

计算给定字典范围之间排序集中的成员数

7 ZRANGE key start stop [WITHSCORES]

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

8 ZRANGEBYLEX key min max [LIMIT offset count]

按字典顺序返回排序集中的成员范围

9 ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]

按分数返回排序集中的成员范围

10 ZRANK key member

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

11 ZREM key member [member …]

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

12 ZREMRANGEBYLEX key min max

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

13 ZREMRANGEBYRANK key start stop

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

14 ZREMRANGEBYSCORE key min max

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

15 ZREVRANGE key start stop [WITHSCORES]

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

16 ZREVRANGEBYSCORE key max min [WITHSCORES]

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

17 ZREVRANK key member

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

18 ZSCORE key member

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

19 ZUNIONSTORE destination numkeys key [key …]

添加多个排序集并将结果排序集存储在新键中

20 ZSCAN key cursor [MATCH pattern] [COUNT count]

增量迭代已排序的集合元素和相关分数

觉得文章有用?

点个广告表达一下你的爱意吧 !😁