redis 遇到的“坑”——set集合 Sdiffstore 命令

Redis Sdiffstore 命令将给定集合之间的差集存储在指定的集合中。如果指定的集合 key 已存在,则会被覆盖。

命令格式

 sdiffstore saveDestsetKey setKey1 .... setKey2

测试

del setTest1 setTest2

sadd setTest1 aaa aax
    (integer) 2
smembers setTest1
    1) "aax"
    2) "aaa"

sadd setTest2 aaa aab aac aad
    (integer) 4
smembers setTest2
    1) "aac"
    2) "aab"
    3) "aad"
    4) "aaa"

sdiffstore result1 setTest1 setTest2
    (integer) 1
smembers result1
    1) "aax"

sdiffstore result2 setTest2 setTest1
    (integer) 3
smembers result2
    1) "aab"
    2) "aac"
    3) "aad"

结论

“前果”

差集的结果来着前面的 setKey1 ,而不是后面的 setKey2,也不是整个 setKey1,.. setKeyn 的差集

你可能感兴趣的:(【redis】,redis,set,sdiffstore)