JSON.MSET - Amazon ElastiCache

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

JSON.MSET

Compatible con la versión 8.1 y superior de Valkey.

Establezca los valores de JSON para varias claves. La operación es atómica. O bien se han establecido todos los valores o no se ha establecido ninguno.

Sintaxis

JSON.MSET key path json [ key path json ... ]
  • Si la ruta de acceso llama a un miembro de objeto:

    • Si el elemento principal no existe, el comando devolverá un error INEXISTENTE.

    • Si el elemento principal existe pero no es un objeto, el comando devolverá ERROR.

    • Si el elemento principal existe y es un objeto:

      • Si el miembro no existe, se anexará un miembro nuevo al objeto principal si y solo si el objeto principal es el último objeto secundario de la ruta. De lo contrario, el comando devolverá un error INEXISTENTE.

      • Si el miembro existe, su valor se reemplazará por el valor JSON.

  • Si la ruta requiere un índice de matriz:

    • Si el elemento principal no existe, el comando devolverá un error INEXISTENTE.

    • Si el elemento principal existe pero no es una matriz, el comando devolverá ERROR.

    • Si el elemento principal existe pero el índice está fuera de los límites, el comando devuelve un error OUTOFBOUNDARIES.

    • Si el elemento principal existe y el índice es válido, el elemento se reemplazará por el nuevo valor JSON.

  • Si la ruta llama a un objeto o matriz, el valor (objeto o matriz) se reemplazará por el nuevo valor JSON.

Devolución

  • Respuesta de cadena simple: «OK» si la operación se realizó correctamente.

  • Respuesta de error simple: si la operación falló.

Ejemplos

Sintaxis de la ruta mejorada:

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]}"

Sintaxis de la ruta restringida:

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\""