JSON.MSET - Amazon ElastiCache

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

JSON.MSET

Didukung untuk Valkey versi 8.1 dan di atas.

Tetapkan nilai JSON untuk beberapa kunci. Operasi adalah atom. Entah semua nilai ditetapkan atau tidak ada yang disetel.

Sintaksis

JSON.MSET key path json [ key path json ... ]
  • Jika jalur memanggil anggota objek:

    • Jika elemen induk tidak ada, perintah akan mengembalikan kesalahan NONEXISTENT.

    • Jika elemen induk ada tetapi bukan objek, perintah akan mengembalikan ERROR.

    • Jika elemen induk ada dan merupakan objek:

      • Jika anggota tidak ada, anggota baru akan ditambahkan ke objek induk jika dan hanya jika objek induk adalah turunan terakhir di jalur. Jika tidak, perintah akan mengembalikan kesalahan NONEXISTENT.

      • Jika anggota ada, nilainya akan diganti dengan nilai JSON.

  • Jika jalur memanggil indeks array:

    • Jika elemen induk tidak ada, perintah akan mengembalikan kesalahan NONEXISTENT.

    • Jika elemen induk ada tetapi bukan array, perintah akan mengembalikan ERROR.

    • Jika elemen induk ada tetapi indeks berada di luar batas, perintah akan mengembalikan kesalahan OUTOFBORDIES.

    • Jika elemen induk ada dan indeks valid, elemen akan diganti dengan nilai JSON baru.

  • Jika jalur memanggil objek atau array, nilai (objek atau array) akan digantikan oleh nilai JSON baru.

Nilai yang ditampilkan

  • Balasan string sederhana: 'OK' jika operasi berhasil.

  • Balasan kesalahan sederhana: Jika operasi gagal.

Contoh

Sintaksis jalur yang ditingkatkan:

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

Sintaksis jalur terbatas:

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