あなたの問題には簡単な解決策があります: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
にあるスコアが何であれ 。