Redis 排序集合

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"

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

Redis排序集命令

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

Sr.No Command & Description
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 确定排序集合中成员的索引,按从高到低的分数排序 18 获取排序集合中给定成员的分数 19 将多个排序集合相加并将结果存储在新键中 20 增量迭代排序集元素和关联的分数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程