美文网首页
Redis的基本类型之一:ZSet

Redis的基本类型之一:ZSet

作者: 程序员小杰 | 来源:发表于2020-07-11 15:15 被阅读0次

redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。
不同的是 zset 的每个元素都会关联一个分数(分数可以重复),redis 通过分数来为集合中 的成员进行从小到大的排序。

1、zadd key score1 member1 [score2 member2]

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

127.0.0.1:6379> zadd k1 20 v1 30 v2 40 v3 50 v4
(integer) 4

2、zcard key

获取有序集合的成员数

127.0.0.1:6379> zcard k1
(integer) 4

3、zscore key member

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

127.0.0.1:6379> zscore k1 v1
"20"

4、zrange key start stop [WITHSCORES]

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

127.0.0.1:6379> zrange k1 0 2
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> zrange k1 0 2 withscores
1) "v1"
2) "20"
3) "v2"
4) "30"
5) "v3"
6) "40"

5、zrevrange key start stop [WITHSCORES]

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

127.0.0.1:6379> zrevrange k1 0 2 withscores
1) "v4"
2) "50"
3) "v3"
4) "40"
5) "v2"
6) "30"

6、zcount key min max

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

127.0.0.1:6379> zcount k1 30 50    # 30≤ x ≤50
(integer) 3
127.0.0.1:6379> zcount k1 (30 (50     # 30< x < 50
(integer) 1

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

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

127.0.0.1:6379> zrangebyscore k1 (30 50 
1) "v3"
2) "v4"

127.0.0.1:6379> zrangebyscore k1 (30 50 withscores
1) "v3"
2) "40"
3) "v4"
4) "50"

127.0.0.1:6379> zrangebyscore k1 (30 50 withscores limit 1 1
1) "v4"
2) "50"

8、zrank key member

返回有序集合中指定成员的索引,按分数从小到大排序

127.0.0.1:6379> zrank k1 v2
(integer) 1

9、zrevrank key member
返回有序集合中指定成员的索引,按分数从大到小排序

127.0.0.1:6379> zrevrank k1 v2
(integer) 2

10、zincrby key increment membe

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

127.0.0.1:6379> zincrby k1 5 v3
"45"

11、zinterstore destination numkeys key [key ...]
计算给定的一个或多个有序集合的交集并将结果集存储在新的有序集合中

127.0.0.1:6379> zadd k2 100 v1 200 v2
(integer) 2

127.0.0.1:6379> zinterstore k3 2 k1 k2 
(integer) 2

127.0.0.1:6379> zrange k3 0 -1 withscores
1) "v1"
2) "120"
3) "v2"
4) "230"

12、zrem key member [member]

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

127.0.0.1:6379> zrem k1 v1
(integer) 1

127.0.0.1:6379> zrange k1 0 -1
1) "v2"
2) "v3"
3) "v4"

13、zlexcount key min max

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

127.0.0.1:6379> zlexcount k1 - +
(integer) 3
127.0.0.1:6379> zlexcount k1 [v3 [v4
(integer) 2

14、ZRANGEBYLEX key min max [LIMIT offset count]

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

127.0.0.1:6379> zrangebylex k1 - +
1) "v2"
2) "v3"
3) "v4"

以上所以只是均来自于大佬江南一点雨
个人博客:[http://www.javaboy.org/]

相关文章

网友评论

      本文标题:Redis的基本类型之一:ZSet

      本文链接:https://www.haomeiwen.com/subject/ulkicktx.html