关于排行榜的实现问题?
面试还问了一个关于排行榜的问题,第一方面是做过,用的 redis 中的 zset,当时实现的就是这样
zIncrBy rank addScore uid ,昨天面试闻到的是,如果分数一样,如何保证先进的用户排名靠前呢?当时想到了是用时间戳来区分,但是没想到具体如何实现,回来后又想了一下
addSscore = addSscore + (time()/1e10)
zIncrBy rank addScore uid
这样我取出分数的时候 int转化一下就可以得到 具体的分数 和用户信息
现在问题是,还有其他实现方式吗?主要是最近在面试,感觉有些东西用了,有些东西明白了,但是到思路就局限在那里了,没有别的想法?
推荐文章: