Redis教程(十)_Redis有序集合(sorted set)命令

Redis有序集合(sorted set)命令

1、ZADD key score1 member1 [score2 member2]

向有序集合添加一个或多个成员,或者更新已存在成员的分数

127.0.0.1:6379> ZADD zsetkey 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> ZRANGE zsetkey 0 -1 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"

2、ZCARD key

获取有序集合的成员数

127.0.0.1:6379> ZRANGE zsetkey 0 -1 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
127.0.0.1:6379> ZCARD zsetkey
(integer) 3

3、ZCOUNT key min max

计算在有序集合中指定区间分数的成员数

127.0.0.1:6379> ZRANGE zsetkey 0 -1 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
127.0.0.1:6379> ZCOUNT zsetkey 2 3
(integer) 2

4、ZINCRBY key increment member

有序集合中对指定成员的分数加上增量 increment

127.0.0.1:6379> ZRANGE zsetkey 0 -1 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "3"
127.0.0.1:6379> ZINCRBY zsetkey 1 three
"4"

5、ZINTERSTORE destination numkeys key [key …]

计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 destination 中

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "4"
127.0.0.1:6379> ZRANGE zsetkey1 0 10 WITHSCORES
1) "three"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"
127.0.0.1:6379> ZINTERSTORE zsetkeydes 2 zsetkey zsetkey1
(integer) 1
127.0.0.1:6379> ZRANGE zsetkeydes 0 10 WITHSCORES
1) "three"
2) "7"

6、ZLEXCOUNT key min max

在有序集合中计算指定字典区间内成员数量

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "4"
127.0.0.1:6379> ZLEXCOUNT zsetkey [one [three
(integer) 1

7、ZRANGE key start stop [WITHSCORES]

通过索引区间返回有序集合指定区间内的成员

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "4"

8、ZRANGEBYLEX key min max [LIMIT offset count]

通过字典区间返回有序集合的成员

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "4"
127.0.0.1:6379> ZLEXCOUNT zsetkey [one [three
(integer) 1

9、ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]

通过分数返回有序集合指定区间内的成员

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "4"
127.0.0.1:6379> ZRANGEBYSCORE zsetkey (2 (5 WITHSCORES
1) "three"
2) "4"

10、ZRANK key member

返回有序集合中指定成员的索引

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "4"
127.0.0.1:6379> ZRANK zsetkey two
(integer) 1

11、ZREM key member [member …]

移除有序集合中的一个或多个成员

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
5) "three"
6) "4"
127.0.0.1:6379> ZREM zsetkey one
(integer) 1
127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "two"
2) "2"
3) "three"
4) "4"

12、ZREMRANGEBYRANK key start stop

移除有序集合中给定的排名区间的所有成员

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
 1) "one"
 2) "1"
 3) "two"
 4) "2"
 5) "three"
 6) "3"
 7) "four"
 8) "4"
 9) "five"
10) "5"
11) "six"
12) "6"
127.0.0.1:6379> ZREMRANGEBYRANK zsetkey 0 2
(integer) 3
127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "four"
2) "4"
3) "five"
4) "5"
5) "six"
6) "6"

13、ZREMRANGEBYSCORE key min max

移除有序集合中给定的分数区间的所有成员

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
 1) "one"
 2) "1"
 3) "two"
 4) "2"
 5) "three"
 6) "3"
 7) "four"
 8) "4"
 9) "five"
10) "5"
11) "six"
12) "6"
127.0.0.1:6379> ZREMRANGEBYSCORE zsetkey 2 4
(integer) 3

14、ZREVRANGE key start stop [WITHSCORES]

返回有序集中指定区间内的成员,通过索引,分数从高到低

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "five"
4) "5"
5) "six"
6) "6"
127.0.0.1:6379> ZREVRANGE zsetkey 0 10 WITHSCORES
1) "six"
2) "6"
3) "five"
4) "5"
5) "one"
6) "1"

15、ZREVRANGEBYSCORE key max min [WITHSCORES]

返回有序集中指定分数区间内的成员,分数从高到低排序

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "five"
4) "5"
5) "six"
6) "6"
127.0.0.1:6379> ZREVRANGEBYSCORE zsetkey 10 0 WITHSCORES
1) "six"
2) "6"
3) "five"
4) "5"
5) "one"
6) "1"

16、ZREVRANK key member

返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "five"
4) "5"
5) "six"
6) "6"
127.0.0.1:6379> ZREVRANK zsetkey five
(integer) 1

17、ZSCORE key member

返回有序集中,成员的分数值

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "five"
4) "5"
5) "six"
6) "6"
127.0.0.1:6379> ZSCORE zsetkey five
"5"

18、ZUNIONSTORE destination numkeys key [key …]

计算给定的一个或多个有序集的并集,并存储在新的 key 中

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "three"
4) "3"
5) "four"
6) "4"
7) "six"
8) "6"
127.0.0.1:6379> ZRANGE zsetkey1 0 10 WITHSCORES
1) "three"
2) "3"
3) "four"
4) "4"
5) "five"
6) "5"
127.0.0.1:6379> ZUNIONSTORE zsetkeydes 2 zsetkey zsetkey1
(integer) 5
127.0.0.1:6379> ZRANGE zsetkeydes 0 10 WITHSCORES
 1) "one"
 2) "1"
 3) "five"
 4) "5"
 5) "six"
 6) "6"
 7) "three"
 8) "6"
 9) "four"
10) "8"

19、ZSCAN key cursor [MATCH pattern] [COUNT count]

迭代有序集合中的元素(包括元素成员和元素分值)

127.0.0.1:6379> ZRANGE zsetkey 0 10 WITHSCORES
1) "one"
2) "1"
3) "five"
4) "5"
5) "six"
6) "6"
127.0.0.1:6379> ZSCAN zsetkey 0
1) "0"
2) 1) "one"
   2) "1"
   3) "five"
   4) "5"
   5) "six"
   6) "6"

版权声明:本文为weixin_39318565原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。