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 | 命令&说明 |
---|---|
1 | ZADD key score1 member1 [score2 member2] 将一个或多个成员添加到已排序的集合中,或更新其分数(如果已存在) |
2 | ZCARD键 获取有序集合中的成员数 |
3 | ZCOUNT key min max 计算排序集中的成员,其得分在给定值内 |
4 | ZINCRBY密钥增量成员 增加已排序集合中成员的分数 |
5 | ZINTERSTORE目标numkeys键[key ...] 交叉多个有序集并将生成的有序集存储在新密钥中 |
6 | ZLEXCOUNT key min max 计算给定词典范围之间有序集合中的成员数量 |
7 | ZRANGE键开始停止[WITHSCORES] 按索引返回有序集合中的成员范围 |
8 | ZRANGEBYLEX key min max [LIMIT offset count] 按字典范围返回有序集合中的成员范围 |
9 | ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] 按分数 返回有序集合中的成员范围> |
10 | ZRANK主要成员 确定有序集合中成员的索引 |
11 | ZREM关键成员[成员...] 从排序集中删除一个或多个成员 |
12 | ZREMRANGEBYLEX key min max 删除给定词典范围之间的有序集合中的所有成员 |
13 | ZREMRANGEBYRANK ke开始停止 删除给定索引中有序集合中的所有成员 |
14 | ZREMRANGEBYSCORE key min max 删除给定分数内有序集合中的所有成员 |
15 | ZREVRANGE键开始停止[WITHSCORES] 返回排序集中的一系列成员,按索引,分数从高到低排序 |
16 | ZREVRANGEBYSCORE key key min [WITHSCORES] 按分数返回有序集合中的成员范围,分数从高到低排序 |
17 | ZREVRANK关键成员 确定排序集中成员的索引,分数从高到低排序 |
18 | ZSCORE密钥成员 获取与已排序集合中给定成员关联的分数 |
19 | ZUNIONSTORE目的地数字键[键. ..] 添加多个有序集并将生成的有序集存储在新密钥中 |
20 | ZSCAN键光标[MATCH模式] [COUNT count] 递增迭代排序的元素和相关分数 |