【发布时间】:2015-08-17 08:15:38
【问题描述】:
我正在使用 Redis 处理用户积分排名,我得:
- 存储用户积分
- 获取用户排名位置
所以我使用zincrby 来更新排名位置,然后我使用zrevrangebyscore 作为顶部列表,zscore 和zrevrank 来获取我需要的所有内容。
因此,当存在抽签案例时(实际上我有很多抽签案例),我不能相信 Redis 标准进行排序。
我的抽签案例的获胜标准是日期,其中最早的是第一个。这些是我存储的 MongoDB id,因此我实际上可以从 _id 检索日期。
所以,如果我想知道用户的实际排名
- 获取用户获得的积分,可能使用
zrevrank。 - 获得所有积分相同的用户。
- 考虑上限和下限。
- 按从 Mongo ID 获得的日期对具有相同积分的用户进行排序。
- 根据其余相同点绘制以及上a和下邻居分配位置。
我将使用默认的 node.js 驱动程序对所有这些进行编码,因此我们正在讨论的是 Javascript 代码。
Redis 命令如何帮助我实现这一点?
【问题讨论】:
标签: redis node-redis