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] 逐步迭代集合元素 |