cache-aside operations

운영 캐시는 cache-aside에 네 개의 보호 장치를 붙인다

hit는 빠르게 반환하고, miss는 원본에서 채웁니다. TTL, 무효화, stampede 방지, 관측 지표가 붙어야 운영 가능한 구조가 됩니다.

TTL + event delete

시간 만료와 쓰기 삭제를 같이 둡니다.

single flight

동시에 몰린 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

원본 부하가 커지면 캐시가 병목을 숨기는지 봅니다.

key

충돌 없이 재현 가능한가

ttl

데이터 변경 주기와 맞는가

stampede

동시 miss를 제한하는가

metric

hit, miss, stale을 보는가

핵심: cache-aside는 “캐시에 있으면 빠르게, 없으면 원본에서 채우되 원본을 보호한다”는 운영 흐름이다.