Redis并列排行榜解决方案

AndersZhuo123 2014-12-28 05:25:17
游戏的实时排行榜解决方案

使用redis 的sort set可以解决,但是分数相同的话,按照时间先后顺序排名,而不是默认的Key的字典顺序排行.

现有解决方案:score后面添加一个时间后缀。

此方案缺点:score为double类型,64位,但是精度位只有52位,加上时间后缀,数据表示可能超过52位,就存在了比较时的精度问题。

寻求其他解决方案,非常感谢。
...全文
328 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianfang 2014-12-31
  • 打赏
  • 举报
回复
准备一个64位整数来记录,前32位表示score,后32位为标准的时间戳。我认为32位足够表示score 还可以自己调整比例,比如前48位为score,那么16位的时间戳就要自己定义起点时间了

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧