如何使用redis ruby计算redis中的集补码运算?

如何使用redis ruby计算redis中的集补码运算?,ruby,redis,Ruby,Redis,对于redis中的两个集合,有操作符可以获得并集、交集等 但是我找不到两组之间的补码 在如何获取集合的补集方面,我是否错过了搜索/了解的机会 例如: redis示例: redis> SADD key1 "a" (integer) 1 redis> SADD key1 "b" (integer) 1 redis> SADD key1 "c" (integer) 1 redis> SADD key2 "c" (integer) 1 redis> SADD key2 "d

对于redis中的两个集合,有操作符可以获得并集、交集等

但是我找不到两组之间的补码

在如何获取集合的补集方面,我是否错过了搜索/了解的机会

例如:

redis示例:

redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SDIFF key1 key2
1) "a"
2) "b"
redis>
差分只是返回“a”和“b”

但是我想要“a”,“b”,“d”和“e”,我认为这是补语


如何做到这一点?

这可能是您想要的:

或者,如果要存储结果:

ruby适配器严格遵循RedisAPI,因此具有相同的命令

更新:

从更新中我推断出你想要对称差分。您不能在一个操作中完成此操作,但可以在多个操作中完成此操作:

redis> sdiffstore diff1 key1 key2 
redis> sdiffstore diff2 key2 key1
redis> sunion diff1 diff2

注释框将禁用代码段。所以,我更新了这个问题。你能再看一遍吗?