Redis 集合(set) 命令

Redis sdiff 命令用于返回由第一个集合和所有后续集合之间的差异产生的集合成员。如果 redis 中不存在key,则将其视为空集。

说的直白点就是返回第一个集合中有的元素后续集合中没有的元素。

语法:

sdiff FIRST_KEY OTHER_KEY1..OTHER_KEYN 

可用版本

>=1.0.0.

返回值:

差异的列表。

返回值类型:

列表

sdiff mycolor1 mycolor2 mycolor3 的工作原理

mycolor1 = {R G B}

mycolor2 = {G Y}

sdiff mycolor1 mycolor2 = {R B}

第一组中有R和B,第二组中没有这两个元素,所以返回{R B}

mycolor3 = {B P}

sdiff mycolor1 mycolor2 mycolor3 = {R}

第一组中的R是第二和第三组中所没有的,所以返回{R}

示例:Redis sdiff

 127.0.0.1:6379> sadd mycolor1 R G B
(integer) 3
127.0.0.1:6379> sadd mycolor2  G Y
(integer) 2
127.0.0.1:6379> sdiff mycolor1 mycolor2
1) "R"
2) "B"
127.0.0.1:6379> sadd mycolor3  B P
(integer) 2
127.0.0.1:6379> sdiff mycolor1 mycolor2 mycolor3
1) "R"