SADD:将元素添加到集合
通过使用 SADD
命令,用户可以将一个或多个元素添加到集合里面:
- SADD set element [element ...]
这个命令会返回成功添加的新元素数量作为返回值。
以下代码展示了如何使用 SADD
命令去构建一个 databases
集合:
- redis> SADD databases "Redis"
- (integer) 1 -- 集合新添加了一个元素
- redis> SADD databases "MongoDB" "CouchDB"
- (integer) 2 -- 集合新添加了两个元素
- redis> SADD databases "MySQL" "PostgreSQL" "MS SQL" "Oracle"
- (integer) 4 -- 集合新添加了四个元素
图 5-2 展示了以上三个 SADD
命令构建出 databases
集合的整个过程。
图 5-2 使用 SADD
命令构建集合的整个过程
执行 SADD databases "Redis"
执行 SADD databases "MongoDB" "CouchDB"
执行 SADD databases "MySQL" "PostgreSQL" "MS SQL" "Oracle"
忽略已存在元素
因为集合不储存相同的元素,所以用户在使用 SADD
命令向集合里面添加元素的时候,SADD
命令会自动忽略已存在的元素,只将不存在于集合的新元素添加到集合里面。
在以下展示的代码中,我们分别尝试向 databases
集合添加元素 "Redis"
、 "MySQL"
以及 "PostgreSQL"
,但是因为这些元素都已经存在于 databases
集合,所以 SADD
命令将忽略这些元素:
- redis> SADD databases "Redis"
- (integer) 0 -- 成功添加的新元素数量为 0 ,表示没有任何新元素被添加到集合当中
- redis> SADD databases "MySQL" "PostgreSQL"
- (integer) 0 -- 同样,这次也没有任何元素被添加到集合里面
而在以下代码中,SADD
命令会将新元素 "Neo4j"
添加到集合里面,并忽略 "Redis"
和 "MySQL"
这两个已存在的元素:
- redis> SADD databases "Redis" "MySQL" "Neo4j"
- (integer) 1
其他信息
属性 | 值 |
---|---|
复杂度 | O(N),其中 N 为用户给定的元素数量。 |
版本要求 | SADD 命令从 Redis 1.0.0 版本开始可用,但是只有 Redis 2.4 或以上版本的 SADD 命令可以一次添加多个元素,Redis 2.4 以下版本的 SADD 命令每次只能添加一个元素。 |