Redis 笔记(六)—— ZSET 常用命令

时间:2022-12-09 21:26:11

常用命令

命令 用例和描述
ZADD ZADD key-name score member [score member ...] —— 将带有分值的成员添加到 HSET 中
ZREM ZREM key-name member [member ...] —— 移除给定成员,并返回移除的数量
ZCARD ZCARD key-name —— 返回有序集合包含的成员数量
ZINCRBY ZINCRBY key-name increment member —— 将 member 成员的分值加上 increment
ZCOUNT ZCOUNT key-name min max —— 返回分值介于 min(包含)和 max(包含)之间的成员数量
ZRANK ZRANK key-name member —— 返回成员 member 在有序集合中的排名(从 0 开始)
ZSCORE ZSCORE key-name member —— 返回成员 member 的分值
ZRANGE ZRANGE key-name start stop [WITHSCORES] —— 返回排名位于 start 和 stop 之间的成员

例子 :

127.0.0.1:6379> zadd zset-key 3 a 2 b 1 c
(integer)
3
127.0.0.1:6379> zcard zset-key
(integer)
3
127.0.0.1:6379> zincrby zset-key 3 c
"4"
127.0.0.1:6379> zscore zset-key b
"2"
127.0.0.1:6379> zrank zset-key c
(integer)
2
127.0.0.1:6379> zcount zset-key 0 3
(integer)
2
127.0.0.1:6379> zcount zset-key 2 4
(integer)
3
127.0.0.1:6379> zrem zset-key b
(integer)
1
127.0.0.1:6379> zrange zset-key 0 -1 withscores
1) "a"
2) "3"
3) "c"
4) "4"

 

高级命令

命令 用例和描述
ZREVRANK ZREVRANK key-name member —— 返回成员member的排名 (逆序,从大到小)
ZREVRANGE ZREVRANGE key-name start stop [WITHSCORES] —— 返回给定排名范围内成员(逆序)
ZRANGEBYSCORE ZRANGEBYSCORE key min max [WITHSCORES] [LIMIE offset count] —— 返回分值介于 min 和 max 之间的所有成员
ZREVRANGEBYSCORE ZRANGEBYSCORE key min max [WITHSCORES] [LIMIE offset count] —— 返回分值介于 min 和 max 之间的所有成员,并按照分值从小到大排序
ZREMRANGEBYRANK ZREMRANGEBYRANK key start stop —— 移除有序集合中排名在 start 和 stop 的
ZREMRANGEBYSCORE ZREMRANGEBYSCORE key min max —— 移除有序集合中分值在 min 和 max 的
ZINTERSTORE ZINTERSTORE dest-key key-count key [key ...] [WEIGHTS weight] [weight ...]] [AGGREGATE SUM|MIN|MAX] —— 对 HSET 执行类似于集合的交集运算
ZUNIONSTORE ZINTERSTORE dest-key key-count key [key ...] [WEIGHTS weight] [weight ...]] [AGGREGATE SUM|MIN|MAX] —— 对 HSET 执行类似于集合的并集运算

例子 :

127.0.0.1:6379> zadd zset-1 1 a 2 b 3 c
(integer)
3
127.0.0.1:6379> zadd zset-2 4 b 1 c 0 d
(integer)
3
127.0.0.1:6379> zinterstore zset-i 2 zset-1 zset-2
(integer)
2
127.0.0.1:6379> zrange zset-i 0 -1 withscores
1) "c"
2) "4"
3) "b"
4) "6"
# ZUNIONSTORE 会对分值进行求和
127.0.0.1:6379> zunionstore zset-u 2 zset-1 zset-2 aggregate min
(integer)
4
127.0.0.1:6379> zrange zset-u 0 -1 withscores
1) "d"
2) "0"
3) "a"
4) "1"
5) "c"
6) "1"
7) "b"
8) "2"
127.0.0.1:6379> sadd set-1 a d
(integer)
2
# 集合 SET 中的分值当做
1 来处理
127.0.0.1:6379> zunionstore zset-u2 3 zset-1 zset-2 set-1
(integer)
4
127.0.0.1:6379> zrange zset-u2 0 -1 withscores
1) "d"
2) "1"
3) "a"
4) "2"
5) "c"
6) "4"
7) "b"
8) "6"