gpt4 book ai didi

database - 实现redis排行榜

转载 作者:行者123 更新时间:2023-12-02 19:04:38 26 4
gpt4 key购买 nike

我已经排序了用作排行榜的集合。

我只想从排行榜中检索 N 个元素。

例如,我的排序集包含 100 万条记录。我的 userId(排序集中的值)是 123,得分 100

我只想获取高于我的用户的 10 个用户和低于我的用户的 10 个用户。

目前,我的逻辑是这样的:

  1. 我调用 ZRANK 来获取我的用户排名。
  2. 我调用 ZRANGE [key] [USERRANK - 10] [USERRANK + 10]

现在,我有了想要从 Redis 检索的分数和用户,但我没有这些用户的排名。

有没有办法获得排名?

我不想为每个用户调用 ZRANK。

最佳答案

不,没有 Redis 方法可以做到这一点,但由于您已经知道用户的等级,因此您可以将其用作“基础”,根据成员的位置进行递减/递增关于ZRANGE的回复。由于它是最多 21 个成员的绑定(bind)范围,因此这是一个简单的计算,可以在客户端中以恒定的复杂性完成。

关于database - 实现redis排行榜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59034018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com