老实说,这更像是一个思想实验或算法挑战。
我很好奇我在 Redis 中创建的排行榜系统是否可以扩展到超过 1 个服务器节点的容量。
排行榜条目是存储在订单集(ZSET)中的
key
,score
对。排行榜支持多种类型的查询,我能够在分片变体(可能不会在生产中使用)中有效地实现所有这些查询,除了一个。
我想实现迭代,返回给定
skip
和 limit
参数的有序条目。
首先,比如说,10 个元素很容易:我从每个分片中请求最大的 10 个条目,然后在排序时聚合集合,然后保留聚合集合中的前 10 个元素。
然而,随着我们想要使用 skip
进入排行榜,这变得非常低效。
问题: