Ada solusi sederhana untuk masalah Anda:ZINTERSTORE
akan bekerja dengan SET
dan ZSET
. Coba:
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"
Sunting: Saya menambahkan AGGREGATE MAX
di atas, karena redis akan memberikan setiap anggota (tidak diurutkan) set foo
skor default 1
, dan SUM
bahwa dengan skor apa pun yang ada di (diurutkan) set bar
.