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/]









网友评论