모든 글

Redis 캐시를 적용하기 전에 정한 세 가지 기준

캐시 대상과 만료 시간, 데이터 불일치 허용 범위를 먼저 정의했습니다.

응답 속도를 높이기 위해 바로 캐시를 추가하면 데이터 갱신 시점에 문제가 생기기 쉽습니다. 구현보다 먼저 어떤 데이터를 얼마나 오래 낡은 상태로 허용할지 정했습니다.

캐시 적용 기준

  1. 같은 요청이 짧은 시간에 반복되는가?
  2. 원본 데이터 조회 비용이 충분히 큰가?
  3. 잠시 이전 값이 보여도 서비스에 문제가 없는가?

상품 상세 정보는 조건을 만족했지만 실시간 재고 수량은 그렇지 않았습니다. 따라서 설명과 이미지 정보만 캐시하고 재고는 매번 원본 저장소에서 조회했습니다.

product:summary:{productId} -> TTL 10 minutes

캐시 적중률만 높이는 것이 목표가 되면 불필요한 데이터까지 저장하게 됩니다. 원본 부하와 응답 시간 변화가 실제로 개선되는지를 함께 측정하는 편이 중요했습니다.