JSON.MSET - Amazon ElastiCache
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

JSON.MSET

支持 Valkey 版本 8.1 及更高版本。

为多个密钥设置 JSON 值。该操作是原子的。要么设置所有值,要么未设置任何值。

语法

JSON.MSET key path json [ key path json ... ]
  • 如果路径调用对象成员:

    • 如果父元素不存在,该命令将返回 NONEXISTENT 错误。

    • 如果父元素存在但不是对象,该命令将返回 ERROR。

    • 如果父元素存在并且是对象:

      • 如果成员不存在,当且仅当父对象是路径中的最后一个子对象时,才会将新成员附加到父对象。否则,该命令将返回 NONEXISTENT 错误。

      • 如果成员存在,则其值将替换为 JSON 值。

  • 如果路径调用数组索引:

    • 如果父元素不存在,该命令将返回 NONEXISTENT 错误。

    • 如果父元素存在但不是数组,该命令将返回 ERROR。

    • 如果父元素存在但索引超出界限,该命令返回 OUTOFBOUNDARIES 错误。

    • 如果父元素存在且索引有效,该元素将被新的 JSON 值替换。

  • 如果路径调用对象或数组,该值(对象或数组)将被新的 JSON 值替换。

Return

  • 简单的字符串回复:如果操作成功,则为 “OK”。

  • 简单错误回复:如果操作失败。

示例

增强的路径语法:

127.0.0.1:6379> JSON.MSET k1 . '[1,2,3,4,5]' k2 . '{"a":{"a":1, "b":2, "c":3}}' k3 . '{"a": [1,2,3,4,5]}' OK 127.0.0.1:6379> JSON.GET k1 "[1,2,3,4,5]" 127.0.0.1:6379> JSON.GET k2 "{\"a\":{\"a\":1,\"b\":2,\"c\":3}}" 127.0.0.1:6379> JSON.MSET k2 $.a.* '0' k3 $.a[*] '0' OK 127.0.0.1:6379> JSON.GET k2 "{\"a\":{\"a\":0,\"b\":0,\"c\":0}}" 127.0.0.1:6379> JSON.GET k3 "{\"a\":[0,0,0,0,0]}"

受限的路径语法:

127.0.0.1:6379> JSON.MSET k1 . '{"name": "John","address": {"street": "123 Main St","city": "Springfield"},"phones": ["555-1234","555-5678"]}' OK 127.0.0.1:6379> JSON.MSET k1 .address.street '"21 2nd Street"' k1 .address.city '"New York"' OK 127.0.0.1:6379> JSON.GET k1 .address.street "\"21 2nd Street\"" 127.0.0.1:6379> JSON.GET k1 .address.city "\"New York\""