Найти верхние N клавиш с самыми высокими значениями в Redis - PullRequest
0 голосов
/ 06 октября 2019

У меня есть база данных Redis со структурой user_id: rating, и мне нужно получить N пользователей с наивысшим рейтингом (значением), например:

u_345: 198
u_144: 180
u_267: 179

Идея, которая у меня есть: взять список всехключи, и для каждого ключа получить его значение (db.mget(db.keys())), после сортировки по значению и получить первый N. Есть ли лучший способ?

Я использую библиотеку Python redis-py ,Но главное - получить правильный алгоритм (или готовое решение).

1 Ответ

2 голосов
/ 07 октября 2019

Похоже, вы должны следовать шаблону использования Sorted Set в качестве вторичного индекса.

См .: https://redis.io/topics/indexes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...