新需求:有序展示
需要的存储结构:可以保存可排序的数据
sorted_set类型:在set的存储结构基础上添加可排序字段
基本操作
添加数据
zadd key score1 member1 [score2 member2]
获取全部数据
zrange key start stop [WITHSCORES]
zrevrange key start stop [WITHSCORES]
删除数据
zrem key member [member…]
按照条件获取数据
zrangebyscore key min max [withscores] [limit offset count]
zrevrangebyscore key max min [withscores]
条件删除数据
zremrangebyrank key start stop
zremrangebyscore key min max
注意:min与max用于限定搜索查询的条件
start与stop指的是索引,以0开始
offset与count类似于mysql的limit
获取几个数据总量
zcard key
zcount key min max
集合交,并操作
zinterstore destination numkeys(要求集合交集的集合数) key [key…]
zunionstore destination numkeys key [key…]
业务场景
投票排序,聊天室排序,各种top10排序
解决方案
获取数据对应的索引(排名)
zrank key member
zrevrank key member
score值获取,修改
zscore key member
zincrby key increment member
应用于计数器组合排序功能对应的排名
注意事项
Score保存的数据有范围
score保存的数据可以是一个双精度的double值
Sorted_set底层存储还是基于set结构,因此数据不能重复
可以应用于定时任务执行顺序管理或任务过期管理