开发者社区> 问答> 正文
1
0
分享

怎么设计一个实时排名系统 ?

现在要做一款游戏产品,涉及到计分排行问题,
简单的排行用redis的sort set就能完成的,
可是动态的排行该如何设计呢?
比如按月排行,其实就是当前时间到过去30天内的排行,
因为时间是时刻在变的,所以时间维度是每秒都是变得。
应蓝浩的询问,补充下
是一个游戏,一般10-40秒玩一局,
玩完了,会有评分的,
现在需要月排名(此刻到30243600秒以前的排名),
如果一个人玩多次的,按最好的成绩统计。

展开
收起
爵霸 2016-03-09 11:47:32 4828 0
举报
飞天免费试用计划
领取免费云资源,开启云上实践第一步
云数据库 Tair(兼容Redis)
内存型 2GB
额度1个月内有效
Redis 开源版
标准版 2GB
额度1个月内有效
1 条回答
写回答
取消 提交回答
  • 也是用的ZSET,比如用户胜利加分:

    `
    ZINCRBY DAY:20150113 60 Kavlez
    ZINCRBY DAY:20150113 80 舞千寻
    `

    就像这样,那就是一天一个ZSET。
    但如果最多也就统计30天的话,那就永远是30个,每天加一个DEL一个。

    每天(或者几分钟)更新一次最近30日ZSET:

    `
    ZUNIONSTORE LAST30 2 LAST30 DAY:20150113
    `

    前10:

    `
    ZREVRANGE LAST30 0 10 WITHSCORES
    `

    2019-07-17 18:55:45 举报
    赞同 评论 打赏

    评论

    全部评论 (0)

    登录后可评论
问答排行榜
最热
最新

相关电子书

更多
新浪广告系统服务化优化 立即下载
《开放搜索在智能化行业搜索和业务增长领域的应用实践》 立即下载
商业流量的精准在线分配 立即下载
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等