JSON.MSET - Amazon ElastiCache

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

JSON.MSET

Wird für Valkey Version 8.1 und höher unterstützt.

Legen Sie JSON-Werte für mehrere Schlüssel fest. Die Operation ist atomar. Entweder sind alle Werte gesetzt oder es sind keine gesetzt.

Syntax

JSON.MSET key path json [ key path json ... ]
  • Wenn der Pfad ein Objektmitglied aufruft:

    • Wenn das übergeordnete Element nicht existiert, gibt der Befehl den Fehler NONEXISTENT zurück.

    • Wenn das übergeordnete Element existiert, aber kein Objekt ist, gibt der Befehl ERROR zurück.

    • Wenn das übergeordnete Element existiert und ein Objekt ist:

      • Wenn das Mitglied nicht existiert, wird ein neues Mitglied an das übergeordnete Objekt angehängt, wenn das übergeordnete Objekt das letzte untergeordnete Objekt im Pfad ist. Andernfalls gibt der Befehl den Fehler NONEXISTENT zurück.

      • Wenn das Mitglied existiert, wird sein Wert durch den JSON-Wert ersetzt.

  • Wenn der Pfad einen Array-Index aufruft:

    • Wenn das übergeordnete Element nicht existiert, gibt der Befehl den Fehler NONEXISTENT zurück.

    • Wenn das übergeordnete Element existiert, aber kein Array ist, gibt der Befehl ERROR zurück.

    • Wenn das übergeordnete Element existiert, der Index jedoch außerhalb der Grenzen liegt, gibt der Befehl den Fehler OUTOFBOUNDARIES zurück.

    • Wenn das übergeordnete Element existiert und der Index gültig ist, wird das Element durch den neuen JSON-Wert ersetzt.

  • Wenn der Pfad ein Objekt oder Array aufruft, wird der Wert (Objekt oder Array) durch den neuen JSON-Wert ersetzt.

Ergebnis

  • Einfache Zeichenkettenantwort: 'OK', wenn der Vorgang erfolgreich war.

  • Einfache Fehlerantwort: Wenn der Vorgang fehlgeschlagen ist.

Beispiele

Erweiterte Pfad-Syntax:

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

Eingeschränkte Pfad-Syntax:

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