redis实现音乐排行榜功能
sorted_set类型
- 新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式
- 需要的存储结构:新的存储模型,可以保存可排序的数据
- 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 [WITHSCORE] [LIMIT] zrevrangebyscore key max min [WITHSCORE]
- 条件删除数据
zremrangebyrank key start stop zremrangebyscore key min max
注意
- min与max用于限定搜索查询的条件
- start与stop用于限定查询范围,作用于索引,表示开始和结束索引
- offset与count 用于限定查询范围,作用于查询结果,表示开始位置和数据总量
- 获取集合数据总量
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
Trips 13 :
- redis应用于计数器组合排序功能对应的排名
相关推荐
王道革 2020-11-25
wangdonghello 2020-11-03
Langeldep 2020-11-16
chenhualong0 2020-11-16
聚合室 2020-11-16
koushr 2020-11-12
MRFENGG 2020-11-11
guoyanga 2020-11-10
fackyou00 2020-11-10
Orangesss 2020-11-03
dongCSDN 2020-10-31
rainandtear 2020-10-30
Quietboy 2020-10-30
liuyulong 2020-10-29
fansili 2020-10-29
温攀峰 2020-10-23
jackbon 2020-10-19
kaixinfelix 2020-10-04