Redis 集合(set) 命令

Redis sinterstore 命令用于将所有指定集合的交集结果存储在特定key中。不存在的key被认为是空集,如果其中一个key是空集,则结果集也是空的。

说的简单点就是先求多个集合的交集,然后再存储到指定的key中。

语法:

sinterstore dest_key key1 key2 .. keyN 

可用版本

>=1.0.0.

返回值:

整数,结果集中元素的个数。

返回值类型:

整数

示例1:两个集合

mycolor1 = {R G B}
mycolor2 = {GB Y}
sinterstore dest_key mycolor1 mycolor2 = {GB}

 127.0.0.1:6379> sadd mycolor1 R G B
(integer) 3
127.0.0.1:6379> sadd mycolor2 G B Y
(integer) 3
127.0.0.1:6379> sinterstore dest_key mycolor1 mycolor2
(integer) 2
127.0.0.1:6379> smembers dest_key
1) "G"
2) "B" 

示例2:三个集合 

mycolor1 = {R G B}
mycolor2 = {G B Y}
mycolor3 = {B W O}
sinterstore dest_key myset1 myset2 myset3 = {B}

 127.0.0.1:6379> sadd mycolor3 B W O
(integer) 3
127.0.0.1:6379> sinterstore dest_key mycolor1 mycolor2 mycolor3
(integer) 1
127.0.0.1:6379> smembers dest_key
1) "B"