Redis的zSet命令合集

Redis的zSet命令合集

转载:https://www.csdn.net/tags/NtTaUgxsMjY1MS1ibG9n.html

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

redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员。

不同的是 zset 的每个元素都会关联一个分数(分数可以重复),redis 通过分数来为集合中的成员进行从小到大的排序。分数可以重复

1.zadd

将一个或多个 member 元素及其 score 值加入到有序集合 key 中,如果 member存在集合中,则更新值;score 可以是整数或浮点数.

#zadd key score member [score member…]
127.0.0.1:6379> zadd zs1 10 zhangsan 20 lisi 99 xiaoming
(integer) 3

2.zrem

删除有序集合 key 中的一个或多个成员,不存在的成员被忽略,返回值:被成功删除的成员数量,不包括被忽略的成员。

#zrem key member [member…]
127.0.0.1:6379> zrem zs1 lisi ll
(integer) 1
127.0.0.1:6379> zrange zs1 0 -1
1) "zhangsan"
2) "xiaoming"

3.zcard

获取有序集 key 的元素成员的个数

返回值:key 存在返回集合元素的个数, key 不存在,返回 0

#zcard key
127.0.0.1:6379> zcard zs1
(integer) 3

4. zrange

查询有序集合,指定区间的内的元素。集合成员按 score 值从小到大来排序。 start,stop 都是从 0 开始。0 是第一个元素,1 是第二个元素,依次类推。以 -1 表示最后一个成员,-2 表示倒数第二个成员。WITHSCORES 选项让 score 和 value 一同返回。返回值:自定区间的成员集合.

127.0.0.1:6379> zadd zs1 10 zhangsan 20 lisi 99 xiaoming
(integer) 3
#zrange key start end
127.0.0.1:6379> zrange zs1 0 -1
1) "zhangsan"
2) "lisi"
3) "xiaoming"

5. zrevrange

返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减(从大到小) 来排列。其它同 zrange 命令。

127.0.0.1:6379> zrange zs1 0 -1
1) "zhangsan"
2) "lisi"
3) "xiaoming"

#zrevrange key start stop [WITHSCORES]
127.0.0.1:6379> zrevrange zs1 0 -1
1) "xiaoming"
2) "lisi"
3) "zhangsan"

6.zrangebyscore

获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括 min 和 max)的成员,有序成员是按递增(从小到大)排序。

min ,max 是包括在内 , 使用符号 ( 表示不包括。 min , max 可以使用 -inf ,+inf 表示最小和最大.

limit 用来限制返回结果的数量和区间。

withscores 显 示 score 和 value

返回值:指定区间的集合数据

127.0.0.1:6379> zadd zs 1 a 2 b 3 c 4 d 5 e 6 f
(integer) 6
127.0.0.1:6379> zrange zs 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"

#zrangebyscore key mix max
127.0.0.1:6379> zrangebyscore zs 1 3 
1) "a"
2) "b"
3) "c"

#zrangebyscore key mix max withscores
127.0.0.1:6379> zrangebyscore zs 1 3 withscores 
1) "a"
2) "1"
3) "b"
4) "2"
5) "c"
6) "3"

#zrangebyscore key (mix max withscores
127.0.0.1:6379> zrangebyscore zs (1 3 withscores 
1) "b"
2) "2"
3) "c"
4) "3"

#zrangebyscore key mix (max withscores
127.0.0.1:6379> zrangebyscore zs 1 (3 withscores 
1) "a"
2) "1"
3) "b"
4) "2"

7.zrevrangebyscore

zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count]

返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。有序集成员按 score 值递减(从大到小)的次序排列。其他同 zrangebyscore.

127.0.0.1:6379> zrevrange zs 0 -1 
1) "f"
2) "e"
3) "d"
4) "c"
5) "b"
6) "a"
127.0.0.1:6379> zrevrange zs 0 -1 withscores
 1) "f"
 2) "6"
 3) "e"
 4) "5"
 5) "d"
 6) "4"
 7) "c"
 8) "3"
 9) "b"
10) "2"
11) "a"
12) "1"
127.0.0.1:6379> zrevrangebyscore zs 6 3 withscores 
1) "f"
2) "6"
3) "e"
4) "5"
5) "d"
6) "4"
7) "c"
8) "3"
127.0.0.1:6379> zrevrangebyscore zs (6 3 withscores 
1) "e"
2) "5"
3) "d"
4) "4"
5) "c"
6) "3"
127.0.0.1:6379> zrevrangebyscore zs 6 (3 withscores 
1) "f"
2) "6"
3) "e"
4) "5"
5) "d"
6) "4"
127.0.0.1:6379> zrevrangebyscore zs (6 (3 withscores 
1) "e"
2) "5"
3) "d"
4) "4"

8. zcount

zcount key min max

返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量

127.0.0.1:6379> zcount zs 1 4
(integer) 4

9. zrank

zrank key member

在获取指定有序集合中指定元素的排名(排名从0开始)

127.0.0.1:6379> zrank zs a
(integer) 0
127.0.0.1:6379> zrank zs b
(integer) 1
127.0.0.1:6379> zrank zs c
(integer) 2

10. zscore

zscore key member

获取指定有序集合中指定元素的分数

127.0.0.1:6379> zscore zs a
"1"
127.0.0.1:6379> zscore zs b
"2"
127.0.0.1:6379> zscore zs c
"3"
posted @ 2022-04-14 10:35  itwetouch  阅读(839)  评论(0编辑  收藏  举报