- 2021-02-24更新:增加
SMISMEMBER
命令。
在前文中,我们已经介绍了Redis中字符串(String)、哈希(Hash)、列表(List)以及对键进行操作的命令。本文将继续介绍Redis中对于集合(Set)类型操作的命令,例如SADD
、SCARD
、SREM
等。
在Redis中,集合(Set)是一个无序的字符串数据集,且该数据集中的元素具有唯一性(即不存在重复的元素)。与之相似的还有有序集合(Sort Set),在后面的文章中我们还会介绍到无序集合的操作命令。
在本文中,我们将介绍对集合元素进行操作的SADD``SCARD``SREM
等命令,以及关于集合交并差运算的SINTER
、SUNION
、SDIFF
等命令。
SADD
SADD
命令用于将指定元素添加到集合中,并返回实际添加的元素个数(即不包括已经存在的元素个数)。当指定的元素在集合中已经存在时,将忽略该元素。若指定的键不存在,在执行操作前将创建一个新的空集合。
SADD key member [member ...]
在Redis 2.4及以上版本中,SADD
命令可用于一次添加多个元素。
示例
redis> SADD numbers 1
(integer) 1
# 元素1已存在,第二次执行时将被忽略
redis> SADD numbers 1 2 3
(integer) 2
redis> SMEMBERS numbers
1) "1"
2) "2"
3) "3"
SISMEMBER
SISMEMBER
命令用于指示集合中是否存在指定元素,若存在则返回1
,否则返回0
(若集合不存在则视为空集合,也将返回0
)。
SISMEMBER key member
示例
redis> SADD numbers 1
(integer) 1
redis> SISMEMBER numbers 1
(integer) 1
redis> SISMEMBER numbers 2
(integer) 0
SMISMEMBER
SMISMEMBER
是Redis 6.2新增的命令,用于指示集合中是否存在指定的一个或多个元素,并以列表的形式返回。与SISMEMBER
命令相同,若元素存在,则将返回列表中与命令相对应的位置设置为1
,否则设置为0
。同样,若集合不存在,则返回全部为0
的列表。
SMISMEMBER key member [member ...]