기본 cache-aside 외에도 여러 caching 전략 — cache-aside, write-through, write-behind, read-through — 이 있으며 각각 일관성과 성능 트레이드오프가 다릅니다. 이들(그리고 eviction 정책)을 이해하면 효과적인 caching을 설계하는 데 도움이 됩니다.
cache-aside (lazy loading — 가장 흔함)
앱이 cache 확인 → miss → DB에서 로드 → cache 채움 → 반환.
✓ 요청된 데이터만 캐시됨 (효율적); 회복력 있음 (cache가 다운돼도 동작)
✗ 첫 요청은 miss (느림); TTL/무효화 전까지 cache가 stale할 수 있음
→ 기본이자 가장 흔한 전략.
write-through와 write-behind
WRITE-THROUGH → 모든 쓰기마다 cache와 DB에 함께(동기적) 쓰기
✓ cache가 항상 신선/일관 ✗ 쓰기가 느림(두 번 쓰기); 읽지 않은 데이터도 캐시
WRITE-BEHIND (write-back) → cache에 즉시 쓰고, DB에는 나중에 비동기로 쓰기
✓ 빠른 쓰기 ✗ DB 쓰기 전 cache 실패 시 데이터 손실 위험; 더 복잡
