嗨客网搜索
Redis-cli命令
Redis SADD命令

Redis SADD命令教程

Redis集合 是无序的。SADD 命令用于将一个或多个 member 元素加入到集合 KEY 当中,已经存在于集合的 member 元素将被忽略。

假如 KEY 不存在,则创建一个只包含 member 元素作成员的集合。当 KEY 不是集合类型时,返回一个错误。在 Redis2.4 版本以前, SADD 只接受单个 member 值。

Redis SADD命令详解

语法

192.168.98.70:6379> SADD KEY member [member ...]

参数

参数 描述
KEY 要添加元素的集合的键。
member 要添加的元素。

返回值

被添加到集合中的新元素的数量,不包括被忽略的元素。

时间复杂度

O(N), N 是被添加的元素的数量。

可用版本

>= 1.0.0

案例

KEY不存在,添加单个元素

使用 SADD 命令,向集合添加单个元素

192.168.98.70:6379> EXISTS haicoder (integer) 0 192.168.98.70:6379> SADD haicoder Redis (integer) 1 192.168.98.70:6379> SADD haicoder Mongo (integer) 1 192.168.98.70:6379> SMEMBERS haicoder 1) "Mongo" 2) "Redis" 192.168.98.70:6379> DEL haicoder (integer) 1

我们首先,使用 EXISTS 命令,判断键为 haicoder 的集合不存在。接着,使用 SADD 命令,向键为 haicoder 的集合插入元素 Redis。使用 SADD 命令,向键为 haicoder 的集合插入元素 Mongo。

最后,我们使用 SMEMBERS 命令,获取键为 haicoder 的集合的所有元素,返回了 Mongo 和 Redis ,此处说明了列表是无序的。

KEY不存在,添加多个元素

使用 SADD 命令,可以同时向集合添加多个元素

192.168.98.70:6379> EXISTS haicoder (integer) 0 192.168.98.70:6379> SADD haicoder Redis Mongo Mysql SqlServer (integer) 4 192.168.98.70:6379> SMEMBERS haicoder 1) "Mongo" 2) "Redis" 3) "Mysql" 4) "SqlServer" 192.168.98.70:6379> DEL haicoder (integer) 1

我们首先,使用 EXISTS 命令,判断键为 haicoder 的集合不存在。接着,我们使用 SADD 命令,同时向键为 haicoder 的集合插入元素 Redis、Mongo、Mysql 和 SqlServer。

最后,我们使用 SMEMBERS 命令,获取键为 haicoder 的集合的所有元素。

插入重复元素

集合不可以插入重复元素

192.168.98.70:6379> SADD haicoder Redis (integer) 1 192.168.98.70:6379> SADD haicoder Mongo (integer) 1 192.168.98.70:6379> SADD haicoder Redis (integer) 0 192.168.98.70:6379> SMEMBERS haicoder 1) "Mongo" 2) "Redis" 192.168.98.70:6379> DEL haicoder (integer) 1

我们首先,使用 SADD 命令,向键为 haicoder 的集合插入值 Redis。使用 SADD 命令,向键为 haicoder 的集合的头部插入值 Mongo。

接着,我们使用 SADD 命令,向键为 haicoder 的集合的插入值 Redis,此时返回 0,表明插入失败。最后,我们使用 SMEMBERS 命令,获取键为 haicoder 的集合的所有元素,集合中只包含一个 Redis。

KEY为非集合类型

KEY 为非集合类型,返回错误

192.168.98.70:6379> SET haicoder Redis OK 192.168.98.70:6379> TYPE haicoder string 192.168.98.70:6379> SADD haicoder Mongo (error) WRONGTYPE Operation against a key holding the wrong kind of value 192.168.98.70:6379> DEL haicoder (integer) 1

我们首先,使用 SET 命令,设置键 haicoder 的值为 Redis。接着,我们使用 TYPE 命令,获取键 haicoder 的类型,返回了 string。

最后,我们使用 SADD 命令,向键为 haicoder 的非集合类型插入值,报错。

Redis SADD命令总结

Redis 的集合是无序的。SADD 命令用于将一个或多个 member 元素加入到集合 KEY 当中,已经存在于集合的 member 元素将被忽略。Redis SADD 命令语法:

192.168.98.70:6379> SADD KEY member [member ...]
嗨客网顶部