我正在尝试实现一个带有排名的排行榜,数据在 Redis 中存储为排序集。我试图弄清楚的部分是如何实现密集(即“ 1-2-2-3 ”)排名,例如,用户的排名是这样的:
Score User Rank
---------------------
22 user1 1
21 user2 2
21 user3 2
21 user4 2
20 user5 3
20 user6 3
这个答案:https ://stackoverflow.com/a/14944280/2177几乎是我需要的,但它相当于“ 1-2-2-4 ”排名,这对我的应用程序来说是不可取的,例如:
1-2-2-4 Ranking
Score User Rank
---------------------
22 user1 1
21 user2 2
21 user3 2
21 user4 2
20 user5 5
20 user6 5
这似乎是一个相当常见的用例。有没有人在 Redis 中成功实现过这样的事情,如果是,如何实现?