Redis - 集合



Redis 集合是无序的唯一字符串集合。唯一意味着集合不允许在键中重复数据。

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

示例

redis 127.0.0.1:6379> SADD tutorials redis 
(integer) 1 
redis 127.0.0.1:6379> SADD tutorials mongodb 
(integer) 1 
redis 127.0.0.1:6379> SADD tutorials mysql 
(integer) 1 
redis 127.0.0.1:6379> SADD tutorials mysql 
(integer) 0 
redis 127.0.0.1:6379> SMEMBERS tutorials  
1) "mysql" 
2) "mongodb" 
3) "redis"

在上面的示例中,三个值通过命令 **SADD** 插入到名为“tutorials”的 Redis 集合中。

Redis 集合命令

下表列出了一些与集合相关的基本命令。

序号 命令及描述
1 SADD key member1 [member2]

向集合添加一个或多个成员

2 SCARD key

获取集合中成员的数量

3 SDIFF key1 [key2]

对多个集合进行差集运算

4 SDIFFSTORE destination key1 [key2]

对多个集合进行差集运算并将结果集存储到一个键中

5 SINTER key1 [key2]

对多个集合进行交集运算

6 SINTERSTORE destination key1 [key2]

对多个集合进行交集运算并将结果集存储到一个键中

7 SISMEMBER key member

确定给定值是否为集合的成员

8 SMEMBERS key

获取集合中的所有成员

9 SMOVE source destination member

将成员从一个集合移动到另一个集合

10 SPOP key

随机移除并返回集合中的一个成员

11 SRANDMEMBER key [count]

从集合中获取一个或多个随机成员

12 SREM key member1 [member2]

从集合中移除一个或多个成员

13 SUNION key1 [key2]

对多个集合进行并集运算

14 SUNIONSTORE destination key1 [key2]

对多个集合进行并集运算并将结果集存储到一个键中

15 SSCAN key cursor [MATCH pattern] [COUNT count]

增量迭代集合元素

广告