Redis MSET 命令用于同时设置 Redis 中的一个或多个 KEY-value 对。如果某个给定 KEY 已经存在,那么 MSET 会用新值覆盖原来的旧值。
MSET 是一个原子性操作,所有给定 KEY 都会在同一时间内被设置,某些给定 KEY 被更新而另一些给定 KEY 没有改变的情况,不可能发生。
192.168.98.70:6379> MSET KEY value [KEY value ...]
参数 | 作用 |
---|---|
KEY | 要设置的 KEY |
VALUE | 要设置的 VALUE |
总是返回 OK (因为 MSET 不可能失败)。
O(N), N 为要设置的 KEY 数量。
>= 1.0.1
当 KEY 不存在时,同时正确设置多个值
# KEY 不存在
192.168.98.70:6379> MSET haicoder.net Redis haicoder Mongo hicoder Mysql
OK
192.168.98.70:6379> MGET haicoder.net haicoder hicoder
1) "Redis"
2) "Mongo"
3) "Mysql"
192.168.98.70:6379> DEL haicoder.net haicoder hicoder
(integer) 3
我们首先,使用 MSET 命令,批量设置键 haicoder.net 、键 haicoder 和键 hicoder 的值。最后,使用 MGET 命令,批量获取刚设置的键 haicoder.net 、键 haicoder 和键 hicoder 的值。
当 KEY 存在时,覆盖旧 KEY 所存储的值
# KEY 存在
192.168.98.70:6379> SET haicoder.net Redis
OK
192.168.98.70:6379> SET haicoder Mongo
OK
192.168.98.70:6379> MSET haicoder.net Redis1 haicoder Mongo1
OK
192.168.98.70:6379> MGET haicoder.net haicoder
1) "Redis1"
2) "Mongo1"
192.168.98.70:6379> DEL haicoder.net haicoder
(integer) 2
我们首先,使用 SET 命令,设置 haicoder.net 的值为 Redis。使用 SET 命令,设置 haicoder 的值为 Mongo。
接着,使用 MSET 命令,批量设置键 haicoder.net 、和键 haicoder 的值。最后,我们使用 MGET 命令,批量获取刚设置的键 haicoder.net 、和键 haicoder 的值,发现原来的值已经被新值覆盖了。
Redis MSET 命令用于同时设置 Redis 中的一个或多个 KEY-value 对。Redis MSET 命令语法:
192.168.98.70:6379> MSET KEY value [KEY value ...]