Я могу запросить повторно отсортированный набор по баллам (zrangebyscore
), по значениям (zrange
), по лексикографическому порядку (zrangebylex
) и т. Д.
Но какой шаблон лучше всего использовать, если я хочу получить 10 лучших элементов из отсортированного набора redis?
Для меня это не равносильно извлечению 10 лучших предметов из отсортированного набора (т. Е. zrevrange set_name 0 10
). Зачем? Потому что во многих реальных сценариях, когда определенные предметы имеют одинаковое количество очков, им соответственно присваивается общий ранг. Таким образом, мог бы быть список лучших 10 с 11 участниками (например).
Можно ли таким способом запрашивать ранги в отсортированном наборе redis?
Мой другой вариант - извлечь весь набор и выполнить подсчет за пределами redis. Я считаю, что это может быть неоптимальным для больших наборов, которые часто ранжируются.
Если это имеет значение, я использую redis в проекте Python.