Я пытаюсь реализовать таблицу лидеров с рейтингом, данные хранятся в виде отсортированных наборов в Redis. Часть, которую я пытаюсь понять, это как реализовать Dense (т.е. "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, и если да, то как?