JSON 사용 사례
JSON 사용 사례 (Use cases)
JSON 객체를 Redis에 저장하는 데는 여러 방법이 있어요. 가장 흔한 방법은 JSON을 직렬화해서 Redis String에 저장하는 거예요. 이 페이지에서는 Redis JSON이 그 접근 방식보다 어떤 점에서 더 나은지, 그리고 어떤 사용 사례에서 빛을 발하는지 설명해 드릴게요.
JSON 저장의 기본 vs. Redis JSON
당연하게도 Redis의 기본 데이터 구조로도 JSON 객체를 저장할 수 있고, 그건 흔한 관행이에요. 예를 들어 JSON을 직렬화해 Redis String에 저장할 수 있죠.
하지만 Redis JSON은 이 접근 방식에 비해 몇 가지 이점을 제공해요. 하나씩 볼게요.
하위 값 접근·검색 (Access and retrieval of subvalues)
JSON을 쓰면 중첩된 값(nested values)을 객체 전체를 네트워크로 전송하지 않고도 가져올 수 있어요. 큰 JSON 객체를 Redis에 저장할 때 하위 객체에만 접근할 수 있다는 것은 효율성 측면에서 큰 이득이에요.
원자적 부분 갱신 (Atomic partial updates)
JSON을 쓰면 값을 증가시키거나, 배열에 요소를 추가·제거하거나, 문자열을 이어 붙이는 등의 작업을 원자적(atomically) 으로 실행할 수 있어요. 반면 직렬화된 객체로 같은 작업을 하려면 객체 전체를 가져와 다시 직렬화해야 해서, 비용이 들 뿐 아니라 원자성도 보장되지 않아요.
인덱싱과 질의 (Indexing and querying)
JSON 객체를 Redis String으로 저장하면 그 객체를 질의할 방법이 마땅치 않아요. 반면 Redis Open Source에서 객체를 JSON으로 저장하면 인덱싱과 질의가 가능해져요. 이 기능은 Redis Query Engine이 제공해요.