排行榜模块,多种类型的排行榜,自定义榜单规则,怎么设计mysql数据库呢?

拿网易云音乐和QQ音乐的排行榜来说吧,比如说像 绑定分类的(港台、欧美、内地)的榜单、热歌榜等,还有排名上升下降的。如果我想这个排行榜的规则是我定义的,比如说我规定一周内评分在8.0以上歌曲未最受欢迎的歌曲榜单,这个时间、以及根据什么来排名,规则是能自定义的,还能有多种榜单类型。mysql怎么设计,程序如何实现呢?

阅读 5k
2 个回答

记录事件(用户播放了某首歌,用户点赞了……),然后对事件流进行分析。

如果榜单不用实时更新,可以离线计算,记录足够多数据慢慢算就是了。

本人小白,发表一下自己的想法:

如果是自定义的条件,我建议将这些榜单的条件单独存储到一张表里,每次设置榜单条件就添加到这张表中,每次查询榜单的时候,就从这张表里取出你设置的筛选条件就行,这样单条件的和多条件就都可以实现了。

当然榜单也应该是一个单独的表,和这个条件表关联下就行了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题