JSON 的 JSON 格式。MSET
语法
JSON.MSET key path value [key path value ...]
- 可用:
- Redis 堆栈 / JSON 2.6.0
- 时间复杂度:
- O(K*(M+N)),其中 k 是命令中的键数,当 path 被评估为单个值时,其中 M 是原始值的大小(如果存在),N 是新值的大小,或者 O(K*(M+N)) 当 path 被评估为多个值时,其中 M 是键的大小,N 是新值的大小 * 的数量键中的原始值
根据指定的key
-path
-value
三 胞 胎
JSON.MSET
是 Atomic 的,因此,所有给定的添加或更新要么应用,要么不应用。客户端无法看到某些密钥已更新,而其他密钥未更改。
JSON 值是一种分层结构。如果更改特定路径中的值 - 嵌套值会受到影响。
警告:
启用群集模式后,所有指定的键必须位于同一哈希槽上。必需参数
key
是修改的关键。
path
是 JSONPath 来指定。对于新的 Redis 键,path
必须是根。对于现有键,当整个path
exists,则它包含的值将替换为json
价值。对于现有键,当path
存在,则除了最后一个元素外,还会添加一个新的子元素,其中包含json
价值。
value
is 值
返回值
JSET 的。MSET 返回一个简单的字符串回复:OK
如果执行正确,或者error
if 设置新值失败
有关回复的更多信息,请参阅 Redis 序列化协议规范。
例子
在多个键中添加新值
redis> JSON.MSET doc1 $ '{"a":1}' doc2 $ '{"f":{"a":2}}' doc3 $ '{"f1":{"a":0},"f2":{"a":0}}'
OK
redis> JSON.MSET doc1 $ '{"a":2}' doc2 $.f.a '3' doc3 $ '{"f1":{"a":1},"f2":{"a":2}}'
OK
redis> JSON.GET doc1 $
"[{\"a\":2}]"
redis> JSON.GET doc2 $
"[{\"f\":{\"a\":3}}]"
redis> JSON.GET doc3
"{\"f1\":{\"a\":1},\"f2\":{\"a\":2}}"
See also
JSON.SET
| JSON.MGET
| JSON.GET
Related topics