Det finns en enkel lösning på ditt problem:ZINTERSTORE
kommer att fungera med en SET
och en ZSET
. Försök:
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"
Redigera: Jag lade till AGGREGATE MAX
ovan, eftersom redis kommer att ge varje medlem av den (icke-sorterade) uppsättningen foo
en standardpoäng på 1
och SUM
det med vilken poäng den har i den (sorterade) uppsättningen bar
.