캐시는 DB 중복 컬럼을 넣기 전의 읽기 완충층이다
DB에 중복 컬럼을 만들기 전 애플리케이션 캐시, CDN, 읽기 복제본으로 같은 읽기 병목을 해결할 수 있는지 본다.
Hit 경로
request: product:42
cache hit: DB 접근 없이 응답
TTL 안이면 같은 값 재사용
Miss/Invalidation 경로
cache miss: DB 조회
cache set: 결과 저장
상품 변경: key 삭제 또는 새 버전 발급
관점
캐시가 맞는 경우
주의할 책임
읽기
동일 조건 조회가 반복된다.
키 설계와 TTL을 정한다.
쓰기
데이터가 자주 바뀌지 않는다.
변경 이벤트에서 무효화한다.
정합성
잠깐의 오래된 값이 허용된다.
강한 정합성 화면은 DB를 직접 본다.
기준: 캐시로 해결되는 읽기 병목은 테이블 구조를 흐리지 않는다. 캐시도 무효화 책임이 없으면 반정규화와 같은 정합성 문제를 만든다.