JSON.MSET - Amazon ElastiCache

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

JSON.MSET

Valkey 버전 8.1 이상에서 지원됩니다.

여러 키의 JSON 값을 설정합니다. 작업은 원자성입니다. 모든 값이 설정되거나 아무 값도 설정되지 않습니다.

구문

JSON.MSET key path json [ key path json ... ]
  • 경로가 객체 멤버를 호출하는 경우

    • 상위 요소가 없는 경우, 다음 명령은 NONEXISTENT 오류를 반환합니다.

    • 상위 요소가 있지만 객체가 아닌 경우, 명령은 ERROR를 반환합니다.

    • 상위 요소가 있고 객체인 경우

      • 멤버가 없으면 상위 객체가 경로의 마지막 하위 객체인 경우에만 새 멤버는 상위 객체에 추가됩니다. 그렇지 않으면 명령은 NONEXISTENT 오류를 반환합니다.

      • 멤버가 있으면 해당 값이 JSON 값으로 대체됩니다.

  • 경로가 배열 인덱스를 호출하는 경우

    • 상위 요소가 없는 경우, 다음 명령은 NONEXISTENT 오류를 반환합니다.

    • 상위 요소가 있지만 배열이 아닌 경우, 명령은 ERROR를 반환합니다.

    • 상위 요소가 있지만 인덱스가 범위를 벗어난 경우, 명령은 OUTOFBOUNDARIES 오류를 반환합니다.

    • 상위 요소가 있고 인덱스가 유효하면 요소는 새 JSON 값으로 대체됩니다.

  • 경로가 객체 또는 배열을 호출하는 경우 값(객체 또는 배열)은 새 JSON 값으로 대체됩니다.

반환

  • 단순 문자열 회신: 작업이 성공한 경우 '확인'입니다.

  • 단순 오류 회신: 작업이 실패한 경우.

향상된 경로 구문.

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