Er is een eenvoudige oplossing voor uw probleem:ZINTERSTORE
werkt met een SET
en een ZSET
. Probeer:
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"
Bewerken: Ik heb AGGREGATE MAX
toegevoegd hierboven, aangezien redis elk lid van de (niet-gesorteerde) set foo
. geeft een standaardscore van 1
, en SUM
dat met welke score het ook heeft in de (gesorteerde) set bar
.