*Redis JSON.MSET 命令

JSON.MSET 在 RedisJSON 中同时设置多个 key 的 JSON 值。


*语法

JSON.MSET key path value [key path value ...]

*参数说明

参数 类型 必填 说明
key String JSON 文档键名
path String JSONPath 路径
value String JSON 值

*返回值

  • OK:全部设置成功
  • Error:某个 key 设置失败

*时间复杂度

O(N*M),N 为 key 数量,M 为每个 JSON 值大小


*示例

*设置多个文档

> JSON.MSET doc1 $ '{"a": 1}' doc2 $ '{"b": 2}'
OK
> JSON.GET doc1
"{\"a\":1}"
> JSON.GET doc2
"{\"b\":2}"

*常见错误

错误 原因 解决
ERR wrong number of arguments 参数不成三元组 key、path、value 必须成组

*最佳实践

  • 批量设置减少网络往返
  • 原子性操作,全部成功或全部失败
  • 用于初始化多个 JSON 文档

*FAQ

Q1: 和 JSON.SET 有什么区别? A: JSON.MSET 支持多个 key;JSON.SET 只支持一个 key。

Q2: 是原子操作吗? A: 是的,所有设置作为一个原子操作执行。

Q3: key 已存在会怎样? A: 会覆盖已存在的值。