100万用户的排行榜如何做啊?

发布于 2022-09-11 15:00:34 字数 72 浏览 7 评论 0

每个人都可以看到自己的一个排行名次,而且是实时更新的,如果用户量少,可以用redis的有序集合,如果用户量很大,这种方案肯定不行。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

七七 2022-09-18 15:00:34

如果用redis的话,直接分好几个表,最后在对每个表的topN做排序不就好了,典型的分治问题。

放低过去 2022-09-18 15:00:34

大多数情况下都会牺牲一点实时性,因为很少有用户会关注实时排名。
有一个权衡方法可以考虑一下,就是将用户数据分片,再在各个分片中排名。因为一般来说短时间内的操作对真实排名的影响不会特别大。比如根据昨天统计的结果,每一千名内部进行排名统计,然后零点对总排名进行更新。

上课铃就是安魂曲 2022-09-18 15:00:34

我们都玩过游戏吧? 网页端的一些 和pc 或者手游 都是网友类型的 都有排行榜
然而 如果细心留意发现不管网页还是客户端类的网游,其实更新排名都是次日的 也就是说排名并不是当天的

首先你要了解一件事情 是从生活角度来了解,所谓排名即便是在生活中一场高中一年的入学分班排名 300个人,
分成6给班级 按照排名先后分班的话 那也是等成绩出来以后统一进行的 所以100万用户啊 你来100万给进场都不够写的 我想还是算了吧 换成达到目标后一段时间进行 现在老板们的需求是越来越奇怪,也越来越异想天开了

当然 100万 用户如果计算机运算能力达标也不是不行,但我认为一个小小的服务器或者就咱们这些人用的服务器 是达不到的 所谓的量子计算能解决这个问题 我信

何以笙箫默 2022-09-18 15:00:34

只会关注topN的人。。。。少见统计几十万后面的人

蔚蓝源自深海 2022-09-18 15:00:34

我认为可以先对各个名次段评估一个大致的评分, 然后超过这个分数的放到响应的排名池里,根据业务的敏感性对前 n 名次的进行实时排名, 然后后面的比如10w 名之后的就给个'10w+' 这种名次不就好了?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文