CACHE DESIGN MAP

캐시는 네 기준을 같이 정해야 안전하다

빠른 응답만 보고 저장하면 stale data가 남는다. key, TTL, 무효화, 장애 대응을 한 장에서 함께 고정한다.

읽기 속도원본 조회를 건너뛰어 지연을 낮춘다.
원본 부하DB와 외부 API 호출 수를 줄인다.
정합성 비용변경 시점과 만료 정책을 관리한다.
장애 여파캐시 장애 때 원본 보호선을 둔다.

저장 전에 결정

KEY
같은 요청은 같은 이름user:42:profile처럼 범위와 버전을 드러낸다.
TTL
얼마나 오래 믿을지데이터 변경 주기보다 짧게 잡는다.
빠른 응답
cache hit -> 즉시 반환
신선한 데이터

운영 중에 관리

DEL
변경 시 무효화쓰기 성공 후 관련 key를 삭제하거나 갱신한다.
SAFE
미스와 장애 대응원본 보호, 재시도 제한, stale 허용 범위를 둔다.

5초 판단 기준

자주 읽고 덜 바뀜캐시 후보가 좋다. TTL 중심으로 시작한다.
자주 바뀌고 중요함짧은 TTL 또는 이벤트 기반 무효화가 필요하다.
미스 비용이 큼stampede 방지와 사전 갱신을 함께 둔다.
hit ratio캐시가 실제로 쓰이는지 본다.
miss latency원본 조회가 버틸 수 있는지 본다.
eviction메모리 부족으로 밀려나는지 본다.
stale window오래된 응답 허용 시간을 정한다.