Redis: сортированные наборы для конкретных членов - PullRequest
2 голосов
/ 11 июня 2019

Я новичок в Redis и пытаюсь отобразить отсортированный набор для определенных значений, которые являются частью sadd. Есть ли способ сделать это в Redis?

SADD friends "Sarah"
SADD friends "Lisa"
SADD friends "Tim"


ZADD users 200 "Sarah"
ZADD users 133 "Lisa"
ZADD users 410 "Peter"
ZADD users 280 "Tim"
ZADD users 205 "Hans"

Я хочу отображать отсортированный набор с оценкой только у друзей.

1) "Tim"
2) "280"
3) "Sarah"
4) "200"
5) "Lisa"
6) "133"

1 Ответ

2 голосов
/ 11 июня 2019

Вы можете использовать ZINTERSTORE, так как он может работать и с обычными SET.Обратите внимание, что он будет использовать 1 для оценки элементов, но вы можете удалить его с весом 0:

ZINTERSTORE aux_zset 2 friends users weights 0 1

Результат ZSET имеет ваш ответ:

127.0.0.1:6379> zrange aux_zset 0 -1 withscores
1) "Lisa"
2) "133"
3) "Sarah"
4) "200"
5) "Tim"
6) "280"
...