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必须是根。对于现有键,当整个pathexists,则它包含的值将替换为json价值。对于现有键,当path存在,则除了最后一个元素外,还会添加一个新的子元素,其中包含json价值。

value

is 值

返回值

JSET 的。MSET 返回一个简单的字符串回复:OK如果执行正确,或者errorif 设置新值失败

有关回复的更多信息,请参阅 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


RATE THIS PAGE
Back to top ↑