注:sadd disabled two
を意味していると思います
ご存知のとおり、SDIFF
ソートされたセットでは機能しません。これは、ソートされたセット間の違いを定義するのが簡単ではないためです。
まず、ZUNIONSTOREを使用して一時セットを作成し、交差点のスコアを0に設定します。次に、0を除く範囲を実行します。例:
127.0.0.1:6379> ZADD all 1 one 2 two 3 three
(integer) 3
127.0.0.1:6379> SADD disabled two
(integer) 1
127.0.0.1:6379> ZUNIONSTORE tmp 2 all disabled WEIGHTS 1 0 AGGREGATE MIN
(integer) 3
127.0.0.1:6379> ZREVRANGEBYSCORE tmp +inf 1 WITHSCORES
1) "three"
2) "3"
3) "one"
4) "1"