对于redis中的两个集合,有运营商可以获得联盟,交叉点等。
但我找不到2套之间的补充?
无论如何,我错过了搜索/知道如何获得SETS的补充?
示例:
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>
diff只返回“a”和“b”。
但我想要“a”,“b”,“d”和“e”这是我认为它的补充。
如何实现这一目标?
答案 0 :(得分:3)
这可能是你想要的:
http://redis.io/commands/sdiff
或者,如果您想存储结果:
http://redis.io/commands/sdiffstore
ruby适配器严格遵循redis api,因此具有相同的命令。
<强>更新强>
从更新中我推断出你想要的对称差异。您不能在一次操作中执行此操作,但可以多次执行此操作:
redis> sdiffstore diff1 key1 key2
redis> sdiffstore diff2 key2 key1
redis> sunion diff1 diff2