JSON.MSET - Amazon ElastiCache

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

JSON.MSET

Supportato per Valkey versione 8.1 e successive.

Imposta i valori JSON per più chiavi. L'operazione è atomica. Tutti i valori sono impostati o non ne è impostato nessuno.

Sintassi

JSON.MSET key path json [ key path json ... ]
  • Se il percorso richiede un membro oggetto:

    • Se l'elemento principale non esiste, il comando restituirà l'errore NONEXISTENT.

    • Se l'elemento principale esiste ma non è un oggetto, il comando restituirà ERROR.

    • Se l'elemento padre esiste ed è un oggetto:

      • Se il membro non esiste, un nuovo membro verrà accodato all'oggetto padre se e solo se l'oggetto padre è l'ultimo figlio nel percorso. In caso contrario, il comando restituirà un errore INESISTENTE.

      • Se il membro esiste, il suo valore verrà sostituito dal valore JSON.

  • Se il percorso richiede un indice di array:

    • Se l'elemento principale non esiste, il comando restituirà un errore INESISTENTE.

    • Se l'elemento principale esiste ma non è un array, il comando restituirà ERROR.

    • Se l'elemento principale esiste ma l'indice non è compreso nei limiti, il comando restituirà l'errore OUTOFBOUNDARIES.

    • Se l'elemento padre esiste e l'indice è valido, l'elemento verrà sostituito dal nuovo valore JSON.

  • Se il percorso richiede un oggetto o un array, il valore (oggetto o array) verrà sostituito dal nuovo valore JSON.

Valori restituiti

  • Risposta in formato stringa semplice: 'OK' se l'operazione è andata a buon fine.

  • Risposta di errore semplice: se l'operazione non è riuscita.

Examples (Esempi)

Sintassi avanzata del percorso:

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

Sintassi limitata del percorso:

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