Redis五大数据结构之 ZSet 及其常见使用命令

ZSet数据结构:

在set基础上加上一个score
如 : 原来set是 k1 v1 v2 v3,现在ZSet是k1 score1 v1 score2

ZADD / ZRANGE

myredis:1>zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5myredis:1> 
"5"

myredis:1>zrange zmyredis:1>set01 0 -1
 1)  "v1"
 2)  "v2"
 3)  "v3"
 4)  "v4"
 5)  "v5"
 
 myredis:1>zrange zset01 0 -1 withscores
 1)  "v1"
 2)  "60"
 3)  "v2"
 4)  "70"
 5)  "v3"
 6)  "80"
 7)  "v4"
 8)  "90"
 9)  "v5"
 10)  "100"

ZRANGEBYSCORE
用法:
1.ZRANGEBYSCORE zset01 60 90:查询score在[60,90]的全部值
2.ZRANGEBYSCORE zset01 60 90 limit 60 2:查询score在60-90的全部值中的索引从0起的后两个值,包含索引0
3.ZRANGEBYSCORE zset01 60 (90:查询score在[60,90)的全部值
4.ZRANGEBYSCORE zset01 (60 (90:查询score在(60,90)的全部值

115.159.67.200:6379[1]> ZRANGEBYSCORE zset01 60 90
1) "v1"
2) "v2"
3) "v3"
4) "v4"
115.159.67.200:6379[1]> ZRANGEBYSCORE zset01 60 90 limit 0 2
1) "v1"
2) "v2"
115.159.67.200:6379[1]> ZRANGEBYSCORE zset01 60 (90
1) "v1"
2) "v2"
3) "v3"
115.159.67.200:6379[1]> ZRANGEBYSCORE zset01 (60 (90
1) "v2"
2) "v3"

ZREM :删除指定元素

115.159.67.200:6379[1]> ZREM zset01 v5
(integer) 1
115.159.67.200:6379[1]> ZRANGE zset01 0 -1
1) "v1"
2) "v2"
3) "v3"
4) "v4"

ZCARD / ZCOUNT / ZRANK /ZSCORE
ZCARD key :查询集合元素总数
ZCOUNT key min max:查询符合条件的元素总数
ZRANK key member:查询元素下标
ZSCORE key member:查询元素的score值

115.159.67.200:6379[1]> ZCARD ZSET01
(integer) 0
115.159.67.200:6379[1]> ZCOUNT zset01 60 90
(integer) 4
115.159.67.200:6379[1]> ZRANK zset01 v1
(integer) 0
115.159.67.200:6379[1]> ZRANK zset01 v2
(integer) 1
115.159.67.200:6379[1]> ZSCORE zset01 v1
"60"

ZREVRANK
ZREVRANK key member:逆序输出指定元素的索引值

115.159.67.200:6379[1]> ZRANGE zset01 0 -1
1) "v1"
2) "v2"
3) "v3"
4) "v4"
115.159.67.200:6379[1]> ZREVRANK zset01 v1
(integer) 3
115.159.67.200:6379[1]> ZREVRANK zset01 v4
(integer) 0

ZREVRANGE / ZREVRANGEBYSCORE
ZREVRANGE key start stop [WITHSCORES]:逆序输出元素
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]:逆序输出符合条件的元素

115.159.67.200:6379[1]> ZREVRANGE zset01 0 -1
1) "v4"
2) "v3"
3) "v2"
4) "v1"
115.159.67.200:6379[1]> ZREVRANGEBYSCORE zset01 90 60
1) "v4"
2) "v3"
3) "v2"
4) "v1"

猜你喜欢

转载自blog.csdn.net/TreeCode/article/details/108257489