sorted_set 是 有序的、去重
元素、分值、排名
排序算法: skip list
应用场景:
- 歌曲排行榜 - zrange
- 集合操作(ZUNIONSTORE 交、并叉 权重/聚合命令)
常用操作
查看sorted_set帮助文档
help @sorted_set
(1)zdd 新增
127.0.0.1:6379[6]> zadd k1 1 a 3 b 2 c
(integer) 3
(2) zrange 根据index按照分值从小到大返回值
127.0.0.1:6379[6]> ZRANGE k1 0 -1
1) "a"
2) "c"
3) "b"
(3)zcount 根据score的最小和最大值,返回count数
127.0.0.1:6379[6]> ZCOUNT k1 1 2
(integer) 2
(4)zrank 获取当前元素的排名(score 越小,排名越靠前,从第0名开始)
ZRANK k1 a
(integer) 0
(5)ZREVRANK 查看当前元素的排名(倒序)
127.0.0.1:6379[6]> ZREVRANK k1 a
(integer) 2
(6)ZRANGEBYSCORE 根据score获取元素
127.0.0.1:6379[6]> ZRANGEBYSCORE k1 1 4
1) "a"
2) "c"
(7)ZINCRBY 新增元素 或者 增加元素的score值
127.0.0.1:6379[6]> ZINCRBY k1 1 a
"2"
(8)ZUNIONSTORE 集合操作(sum、min、max)
127.0.0.1:6379[6]> ZUNIONSTORE addk1 2 k1 k2 aggregate sum
(integer) 3
127.0.0.1:6379[6]> ZUNIONSTORE maxk1 2 k1 k2 aggregate max
(integer) 3
127.0.0.1:6379[6]> ZUNIONSTORE mink1 2 k1 k2 aggregate max
(integer) 3