【发布时间】:2019-09-12 05:36:07
【问题描述】:
我可以查询一个按分数(zrangebyscore)、按值(zrange)、按字典顺序(zrangebylex)等排序的redis。
但是,如果我想从 redis 排序集中检索排名前 10 的项目,最好使用什么模式?
对我来说,这不等于只是从排序集中检索前 10 个项目(即zrevrange set_name 0 10)。为什么?因为在许多现实世界的场景中,当某些项目具有相同的分数时,它们会被适当地赋予一个共享的排名。因此,可能会有一个包含 11 个成员的前 10 名列表(例如)。
是否可以通过这种方式查询redis sorted set中的rank?
我的另一个选择是检索整个集合并在 redis 之外进行计数。我相信这对于经常重新排名的大型集合来说可能不是最理想的。
如果重要的话,我会在 Python 项目中使用 redis。
【问题讨论】:
标签: redis