*Redis MSET 命令 同时设置多个 key-value
*MSET
*语法
MSET key value [key value ...]
*说明
MSET 命令设置多个 key 的值为各自对应的 value。
MSET 像 SET 一样,会用新值替换旧值。如果你不想覆盖旧值,可以使用 MSETNX。
MSET 是原子操作,所有 key 的值同时设置。客户端不会看到有些 key 值被修改,而另一些 key 值没变的情况。
MSET 是 SET 命令的批量版本,可以在一次请求中设置多个 key-value 对,减少客户端与服务器之间的往返次数(round-trip)。
*示例
# 同时设置多个 key
redis-cli MSET key1 "Hello" key2 "World"
# 验证设置结果
redis-cli GET key1
redis-cli GET key2
# 覆盖已有的 key
redis-cli SET oldkey "old value"
redis-cli MSET oldkey "new value" newkey "new"
redis-cli GET oldkey
# 批量设置用户数据
redis-cli MSET user:100:name "Bob" user:100:email "bob@example.com" user:100:age "25"
redis-cli MGET user:100:name user:100:email user:100:age
*返回值
- Simple string reply:总是返回
OK,因为 MSET 不会失败。
*版本兼容性
| 版本 | 说明 |
|---|---|
| >= 1.0.1 | 可用 |
| < 1.0.1 | 不支持 |
*时间复杂度
O(N),其中 N 是设置的 key-value 对数量。