Redis 集合

17 Mar 2025 | 阅读 2 分钟

Redis 集合是一个无序的唯一字符串集合。唯一字符串意味着集合中没有单个字符串重复。

在 Redis 集合中,添加、删除和测试成员是否存在的时间复杂度为 O(1)(无论集合中包含多少元素,时间都是恒定的)。一个集合的最大长度超过 40 亿个元素。

例子

Redis Sets 1

在上面的例子中,您可以看到我们使用 SADD 命令在集合中添加了 4 个元素。但是,使用 SMEMBERS 命令仅检索到 3 个元素,因为其中一个元素是重复的,而 Redis 集合仅读取重复值一次。


Redis 集合命令

索引命令描述
1SADD key member1 [member2]用于向集合添加一个或多个成员。
2SCARD key用于获取集合中成员的数量。
3SDIFF key1 [key2]用于计算多个集合的差集。
4SDIFFstore destination key1 [key2]用于计算多个集合的差集并将结果集存储在一个键中。
5SINTER key1 [key2]用于计算多个集合的交集。
6SINTERSTORE destination key1 [key2]用于计算多个集合的交集并将结果集存储在一个键中。
7SISMEMBER key member用于确定给定值是否是集合的成员。
8SMOVE source destination member用于将成员从一个集合移动到另一个集合。
9SPOP key用于删除并返回集合中的一个随机成员。
10SRANDMEMBER key [count]用于从集合中获取一个或多个随机成员。
11SREM key member1 [member2]用于从集合中删除一个或多个成员。
12SUNION key1 [key2]用于计算多个集合的并集。
13SUNIONSTORE destination key1 [key2]用于计算多个集合的并集并将结果集存储在一个键中。
14SSCAN key cursor [match pattern] [count count]用于增量迭代集合元素。

下一主题Redis 有序集合