Redis 集合(Set) 命令

Redis 集合是一种无序的、不重复的数据结构,用于存储多个字符串元素。集合中的每个元素都是唯一的,因此集合中的元素不能重复。集合的实现类似于散列表,底层数据结构为哈希表。

添加元素

SADD key member [member ...]

向集合中添加一个或多个成员。如果成员已经存在于集合中,则忽略该操作,但不会导致错误。返回值是成功添加的新成员数量。

上述命令将“hello”和“world”添加到名为myset的集合中。假设这两个元素之前不存在于集合中,那么返回值将是2。

获取集合中的所有成员

SMEMBERS key

返回集合中所有的成员。如果键不存在,则返回空数组。

这将返回集合myset中的所有成员。

判断成员是否存在于集合中

SISMEMBER key member

检查给定的成员是否存在于集合中。如果存在,则返回1;否则返回0。

上述命令会检查元素“hello”是否存在于集合myset中,并返回相应的结果。

删除成员

SREM key member [member ...]

从集合中删除一个或多个成员。如果成员不存在于集合中,则忽略该操作。返回值是从集合中删除的成员数量。

上述命令将从集合myset中删除元素“hello”。

获取集合的基数(成员数量)

SCARD key

返回集合中成员的数量。

上述命令将返回集合myset中的成员数量。

随机获取成员

SRANDMEMBER key [count]

随机返回集合中的一个或多个成员。如果count为正数,则返回count个不同的成员。如果count为负数,则返回count个可能有重复的成员。

第一个命令将随机返回集合myset中的一个成员。第二个命令将返回集合myset中的两个可能有重复的成员。

随机删除成员

SPOP key [count]

随机移除并返回集合中的一个或多个成员。如果count为正数,则返回count个不同的成员。如果count为负数,则返回count个可能有重复的成员。

第一个命令将随机移除并返回集合myset中的一个成员。第二个命令将移除并返回集合myset中的两个可能有重复的成员。

集合运算

SINTER key [key ...]

计算多个集合的交集。返回交集的所有成员。

上述命令将返回集合set1set2的交集。

SUNION key [key ...]

计算多个集合的并集。返回并集的所有成员。

上述命令将返回集合set1set2的并集。

SDIFF key [key ...]

计算多个集合的差集。返回第一个集合相对于其他集合的差集成员。

上述命令将返回集合set1中相对于集合set2的差集成员。

SINTERSTORE destination key [key ...]

计算多个集合的交集并将结果保存到新的集合。

上述命令将集合set1set2的交集保存到新集合newset中。

SUNIONSTORE destination key [key ...]

计算多个集合的并集并将结果保存到新的集合。

上述命令将集合set1set2的并集保存到新集合newset中。

SDIFFSTORE destination key [key ...]

计算多个集合的差集并将结果保存到新的集合。

上述命令将集合set1中相对于集合set2的差集成员保存到新集合newset中。

遍历集合

SSLOWMEMBER key [iterator]

迭代集合中的元素。这个命令通常用于遍历大型集合,避免一次性返回大量数据。

上述命令将迭代集合myset中的所有成员。

这些命令涵盖了Redis集合的基本操作,包括添加、删除、查询、运算和遍历。理解这些命令对于使用Redis集合进行数据管理至关重要。

纠错
反馈