Learning
토픽 197 / 201·병행제어 문제점

캐싱 (Caching)

캐싱 (Caching)

자주 사용되는 데이터를 임시 저장하여 성능을 향상시키는 기법

특징: 응답속도(↑), DB 부하(↓), 데이터 일관성 관리 필요

계층별 캐싱

  • 클라이언트 캐시: 브라우저 내 정적 자원, Cache-Control/ETag, 가장 빠름, 공유 불가
  • 프록시/CDN 캐시: 엣지 서버, 다수 공유, Origin 부하 감소, 무효화 전파 지연
  • 로컬 캐시: 앱 프로세스 메모리(Caffeine/Guava), 네트워크 불필요, 인스턴스 간 불일치
  • 분산 캐시: Redis/Memcached, 인스턴스 공유, 1~2ms 네트워크 지연

일관성: 강한 일관성(Write-Through) vs 최종 일관성(TTL/이벤트), 일관성↑ ↔ 성능↓ 트레이드오프

캐시 워밍: Cold Start 방지, 사전 로드/트래픽 미러링/점진적 전환/스냅샷 복원

비교: 클라이언트(가장빠름/개인) vs CDN(공유/정적) vs 로컬(빠름/격리) vs 분산(공유/네트워크)

연관: Redis, CDN, 캐시 전략, 캐시 무효화