redis实现音乐排行榜功能

Posted if年少有为

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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应用于计数器组合排序功能对应的排名

以上是关于redis实现音乐排行榜功能的主要内容,如果未能解决你的问题,请参考以下文章

使用 Redis 实现排行榜功能

Redis+PHP利用redis的zset实现游戏排行榜功能

使用redis实现排行榜功能

微服务SpringBoot 整合Redis 实现点赞点赞排行榜

Redis实现排行榜功能(实战)

使用 Redis 实现排行榜功能 (转载 https://segmentfault.com/a/1190000002694239)