以取交集也为空
(empty list or set)
redis 127.0.0.1:6379>
10, sinterstore 命令:
sinterstore [...] 返回所有key对应集合的交集,并存储在destination中,如果destination已经存在,则原来的值会被覆盖,destination 也可以是key本身。
[plain]
redis 127.0.0.1:6379> smembers animal
1) "monkey"
2) "duck"
3) "cow"
redis 127.0.0.1:6379> smembers zoo
1) "monkey"
2) "duck"
3) "cat"
4) "pig"
5) "dog"
redis 127.0.0.1:6379> sinterstore azoo animal zoo
(integer) 2
redis 127.0.0.1:6379> smembers azoo # 求animal和zoo的交集并存储在azoo中
1) "duck"
2) "monkey"
redis 127.0.0.1:6379> sinterstore zoo animal zoo
(integer) 2
redis 127.0.0.1:6379> smembers zoo # 求animal和zoo的交集并存储在zoo中,覆盖了原来的zoo。
1) "duck"
2) "monkey"
redis 127.0.0.1:6379>
11, sunion 命令:
sunion [....] 返回一个集合的所有成员,该集合是所有集合的并集(结合律)。
[plain]
redis 127.0.0.1:6379> smembers animal
1) "monkey"
2) "duck"
3) "chicken"
4) "cow"
redis 127.0.0.1:6379> smembers zoo
1) "duck"
2) "monkey"
3) "pig"
4) "cat"
5) "dog"
redis 127.0.0.1:6379> sunion animal zoo
1) "monkey"
2) "chicken"
3) "duck"
4) "cat"
5) "pig"
6) "cow"
7) "dog"
redis 127.0.0.1:6379>
12, sunionstore 命令:
sunionstore [...] 将几个key所对应的集合求并集,并存储在destination集合中,destination集合可以是他本身。
[plain]
redis 127.0.0.1:6379> smembers animal
1) "monkey"
2) "duck"
3) "chicken"
4) "cow"
redis 127.0.0.1:6379> smembers zoo
1) "duck"
2) "monkey"
3) "pig"
4) "cat"
5) "dog"
redis 127.0.0.1:6379> sunionstore anzoo animal zoo
(integer) 7
redis 127.0.0.1:6379> smembers anzoo # 求animal和zoo集合的并集,并返回到anzoo集合
1) "monkey"
2) "chicken"
3) "duck"
4) "cat"
5) "pig"
6) "cow"
7) "dog"
redis 127.0.0.1:6379> sunionstore zoo animal zoo
(integer) 7
redis 127.0.0.1:6379> smembers zoo # 求animal 和zoo的并集,并返回到zoo集合
1) "monkey"
2) "chicken"
3) "duck"
4) "cat"
5) "pig"
6) "cow"
7) "dog"
redis 127.0.0.1:6379>
13, sdiff 命令:
sdiff [...] 求所有集合的差集。
[plain]
redis 127.0.0.1:6379> smembers zoo
1) "chicken"
2) "duck"
3) "cat"
redis 127.0.0.1:6379> smembers animal
1) "monkey"
2) "duck"
3) "chicken"
4) "cow"
redis 127.0.0.1:6379> sdiff zoo
1) "duck"
2) "cat"
3) "chicken"
redis 127.0.0.1:6379> sdiff zoo animal
1) "cat"
redis 127.0.0.1:6379> sdiff animal zoo
1) "monkey"
2) "cow"
redis 127.0.0.1:6379>
14, sdiffstore 命令:
sdiffstore [...] 求所有集合的差集之后将结果存储到destination集合中。如果destination集合已经存在,则destination集合会被覆盖。
[plain]
redis 127.0.0.1:6379> smembers zoo
1) "chicken"
2) "duck"
3) "cat"
redis 127.0.0.1:6379> smembers animal
1) "monkey"
2) "duck"
3) "chicken"
4) "cow"
redis 127.0.0.1:6379> sdiffstore daz zoo animal
(integer) 1
redis 127.0.0.1:6379> smembers daz # 求zoo与animal的差集,并存储在daz中
1) "cat"
redis 127.0.0.1:6379> sdiffstore zoo zoo animal
(integer) 1
redis 127.0.0.1:6379> smembers zoo # 求zoo与animal的差集,并存储在zoo中
1) "cat"
redis 127.0.0.1:6379>