시간 만료와 쓰기 삭제를 같이 둡니다.
cache-aside operations
운영 캐시는 cache-aside에 네 개의 보호 장치를 붙인다
hit는 빠르게 반환하고, miss는 원본에서 채웁니다. TTL, 무효화, stampede 방지, 관측 지표가 붙어야 운영 가능한 구조가 됩니다.
동시에 몰린 miss를 한 번의 원본 조회로 묶습니다.
Request side
1. key 계산
조건과 권한 범위를 같은 규칙으로 만듭니다.
2. lookup
hit면 원본을 건드리지 않고 응답합니다.
3. miss lock
같은 key의 동시 miss를 하나로 줄입니다.
Cache-aside core
HIT
Redis 또는 memory에서 즉시 반환
MISS
lock 획득 후 원본 조회
SET + TTL
결과를 저장하고 stale window 제한
WRITE DELETE
쓰기 성공 뒤 관련 key 제거
Origin side
DB / 외부 API
miss와 refresh 때만 접근합니다.
write model
수정 성공 이벤트가 삭제 기준이 됩니다.
cost limit
원본 부하가 커지면 캐시가 병목을 숨기는지 봅니다.
충돌 없이 재현 가능한가
데이터 변경 주기와 맞는가
동시 miss를 제한하는가
hit, miss, stale을 보는가
핵심: cache-aside는 “캐시에 있으면 빠르게, 없으면 원본에서 채우되 원본을 보호한다”는 운영 흐름이다.