集合(Set)常见命令详解
集合(Set)在Redis中是一种无序且不可重复的数据结构,非常适合用于存储唯一元素的集合。以下是Redis集合操作的一些常用命令及其详细说明:
添加成员
sadd key member [member ...]
- 功能:向指定集合中添加一个或多个成员。
- 参数:
key
:集合的键。member
:要添加到集合中的成员,可以是一个或多个。
- 返回值:成功添加的新成员数量。如果成员已经存在于集合中,则不会重复添加。
获取所有成员
smembers key
- 功能:返回集合中的所有成员。
- 参数:
key
:集合的键。
- 返回值:集合中的所有成员组成的列表。
删除成员
srem key member [member ...]
- 功能:从集合中移除一个或多个成员。
- 参数:
key
:集合的键。member
:要从集合中移除的成员,可以是一个或多个。
- 返回值:成功移除的成员数量。
获取成员数量
scard key
- 功能:获取集合中的成员数量。
- 参数:
key
:集合的键。
- 返回值:集合中的成员数量。
随机移除成员
spop key [count]
- 功能:随机移除集合中的一个或多个成员,并返回被移除的成员。
- 参数:
key
:集合的键。count
(可选):要移除的成员数量。如果不指定,则默认移除一个成员。
- 返回值:被移除的成员组成的列表。
判断成员是否存在
sismember key member
- 功能:判断某个成员是否存在于集合中。
- 参数:
key
:集合的键。member
:要判断的成员。
- 返回值:如果成员存在于集合中,返回1;否则返回0。
合并集合
sunion key1 key2 [key ...]
- 功能:返回给定所有集合的并集。
- 参数:
key1
、key2
等:要合并的集合的键。
- 返回值:所有集合的并集组成的列表。
sunionstore dest key1 key2 [key ...]
- 功能:将给定所有集合的并集存储到目标集合中。
- 参数:
dest
:目标集合的键。key1
、key2
等:要合并的集合的键。
- 返回值:并集中成员的数量。
获取交集
sinter key1 key2 [key ...]
- 功能:返回给定所有集合的交集。
- 参数:
key1
、key2
等:要求交集的集合的键。
- 返回值:所有集合的交集组成的列表。
sinterstore dest key1 key2 [key ...]
- 功能:将给定所有集合的交集存储到目标集合中。
- 参数:
dest
:目标集合的键。key1
、key2
等:要求交集的集合的键。
- 返回值:交集中成员的数量。
获取差集
sdiff key1 key2 [key ...]
- 功能:返回第一个集合与其他集合的差集(即存在于第一个集合但不存在于其他集合中的成员)。
- 参数:
key1
:基准集合的键。key2
等:要从基准集合中移除的成员所在的集合的键。
- 返回值:差集组成的列表。
sdiffstore dest key1 key2 [key ...]
- 功能:将第一个集合与其他集合的差集存储到目标集合中。
- 参数:
dest
:目标集合的键。key1
:基准集合的键。key2
等:要从基准集合中移除的成员所在的集合的键。
- 返回值:差集中成员的数量。
这些命令为操作Redis集合提供了强大的功能,适用于各种需要唯一性约束和集合运算的场景。