Има просто решение на проблема ви:ZINTERSTORE
ще работи с SET
и ZSET
. Опитайте:
redis> sadd foo a
(integer) 1
redis> zadd bar 1 a
(integer) 1
redis> zadd bar 2 b
(integer) 1
redis> zinterstore baz 2 foo bar AGGREGATE MAX
(integer) 1
redis> zrange baz 0 -1 withscores
1) "a"
2) "1"
Редактиране: Добавих AGGREGATE MAX
по-горе, тъй като redis ще даде на всеки член на (несортирания) набор foo
резултат по подразбиране от 1
и SUM
че с какъвто и резултат да има в (сортирания) набор bar
.