Skip to main content

캐싱이 필요한 이유

운세 데이터는 자연스러운 캐싱 기회를 제공합니다:

캐싱 아키텍처

클라이언트 캐싱

브라우저 localStorage

캐싱을 사용한 React Hook

서버 캐싱

Redis 구현

캐시 키 전략

일관된 키 형식을 사용하세요:
키 구성요소:
  • dayMaster - 사용자의 일간(日干) (10가지 가능한 값)
  • date - 오늘 날짜 (YYYY-MM-DD 형식)
  • model - 사용된 AI 모델 (haiku, sonnet, gpt4o)

캐시 워밍

사용자 요청 전에 운세를 미리 생성하세요:
10개의 일간만 있으므로, 하루의 모든 가능한 운세를 단 10번의 API 호출로 미리 생성할 수 있습니다.

Upstash Redis (서버리스)

서버리스 배포에는 Upstash Redis를 사용하세요:
환경 변수:

캐시 무효화

시간 기반 (권장)

자정에 만료되도록 TTL 설정:

수동 무효화

관리자 재설정 또는 콘텐츠 업데이트용:

버전 관리 캐싱

캐시 형식 변경을 우아하게 처리하세요:

비용 절감 효과

적절한 캐싱 사용 시:
10개 일간으로 캐시 워밍 시 트래픽에 관계없이 하루 약 $0.01만 소요됩니다.

캐시 디버깅

캐시 상태 확인

새 데이터 강제 조회

모범 사례

권장

  • 일간 + 날짜로 캐시
  • 데이터 신선도에 맞는 TTL 사용
  • 캐시 워밍 구현
  • 캐시 키 버전 관리

비권장

  • 공유 캐시에 사용자별 데이터 저장
  • 시간에 민감한 데이터에 무한 TTL 사용
  • 개발 환경에서 캐시 건너뛰기
  • 캐시 미스 처리 누락