Сортированный набор Redis с переменным рейтингом

Я пытаюсь создать таблицу лидеров с форматом побед над поражениями. Например, 10/20 будет 10 побед и 20 поражений. Я использую Redis и хочу использовать отсортированные наборы. Как я могу отсортировать его по выигрышам, но при этом вернуть проигрыши?

Я нашел это на сайте Redis:

"

> zadd hackers 1940 "Alan Kay"
(integer) 1
> zadd hackers 1957 "Sophie Wilson"
(integer) 1
> zadd hackers 1953 "Richard Stallman"
(integer) 1
> zadd hackers 1949 "Anita Borg"
(integer) 1
> zadd hackers 1965 "Yukihiro Matsumoto"
(integer) 1
> zadd hackers 1914 "Hedy Lamarr"
(integer) 1
> zadd hackers 1916 "Claude Shannon"
(integer) 1
> zadd hackers 1969 "Linus Torvalds"
(integer) 1
> zadd hackers 1912 "Alan Turing"
(integer) 1

Как видите, ZADD похож на SADD, но принимает один дополнительный аргумент (помещается перед добавляемым элементом), который представляет собой оценку. ZADD также является вариативным, поэтому вы можете указать несколько пар «оценка-значение», даже если это не используется в приведенном выше примере.

"

У меня возникли проблемы с поиском примера использования с вариативными числами. Это способ добавить 2 балла к одному элементу? Как zadd hackers 1940 1945 "Алан Кей"?

Я думаю, что хеш может быть лучшим решением, но тогда мне придется отсортировать его в другом месте.

Мой главный вопрос: Как я могу использовать Redis для сортировки таблицы лидеров по победам и поражениям?

Создание Twitter-подобного приложения Trending Topics App с Redis (на примере PHP)
Создание Twitter-подобного приложения Trending Topics App с Redis (на примере PHP)
Redis - это популярная база данных типа "ключ-значение" в памяти с поддержкой различных типов и структур данных, которая в основном используется для...
0
0
72
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

«Вариативная» часть ZADD относится к его способности устанавливать несколько пар элементов оценки за один вызов. Элементы отсортированных наборов всегда имеют одну и только одну оценку.

Однако вы можете оставить два отсортированных набора: один для выигрышей, а другой - для проигрышей.

Спасибо за помощь с вариативным вопросом. Я думал о 2 отсортированных наборах, но натолкнулся на стену ума, когда думал о том, как к ним присоединиться после удаления.

Pfrex 30.05.2018 23:13

С удовольствием - если вам так нравится, отметьте, пожалуйста, ответ как правильный;)

Itamar Haber 31.05.2018 13:25

Другие вопросы по теме