Stores the difference of multiple sorted sets in a key.
ZDIFFSTORE
destination
numkeys key [key…]
Computes the difference between the first and all successive input
sorted sets and stores the result in destination
. The total
number of input keys is specified by numkeys
.
Keys that do not exist are considered to be empty sets.
If destination
already exists, it is overwritten.
Integer reply: the number of members in the resulting sorted set at destination.
O(L + (N-K)log(N)) worst case where L is the total number of elements in all the sets, N is the size of the first set, and K is the size of the result set.
@slow @sortedset @write
127.0.0.1:6379> ZADD zset1 1 "one"
(integer) 1
127.0.0.1:6379> ZADD zset1 2 "two"
(integer) 1
127.0.0.1:6379> ZADD zset1 3 "three"
(integer) 1
127.0.0.1:6379> ZADD zset2 1 "one"
(integer) 1
127.0.0.1:6379> ZADD zset2 2 "two"
(integer) 1
127.0.0.1:6379> ZDIFFSTORE out 2 zset1 zset2
(integer) 1
127.0.0.1:6379> ZRANGE out 0 -1 WITHSCORES
1) "three"
2) "3"
BZMPOP, BZPOPMAX, BZPOPMIN, ZADD, ZCARD, ZCOUNT, ZDIFF, ZINCRBY, ZINTER, ZINTERCARD, ZINTERSTORE, ZLEXCOUNT, ZMPOP, ZMSCORE, ZPOPMAX, ZPOPMIN, ZRANDMEMBER, ZRANGE, ZRANGESTORE, ZRANK, ZREM, ZREMRANGEBYLEX, ZREMRANGEBYRANK, ZREMRANGEBYSCORE, ZREVRANK, ZSCAN, ZSCORE, ZUNION, ZUNIONSTORE.