afterCommit DELETE면 충분하지 않나? — Cache-Aside 레이스 컨디션을 발견하고, 근본 원인을 찾기까지 TL;DRCache-Aside + afterCommit DELETE면 캐시 무효화는 끝이라고 생각했습니다. 그런데 "DB 읽기와 캐시 SET 사이의 시간 간격"이라는 구조적 허점을 발견했고, 처음에는 캐시 레이어에서 사후 패치하려 했습니다. 한 발 물러서 보니, 이 문제의 근본 원인은 캐시가 아니라 DB 쓰기 프로세스의 동시성 제어였습니다. 쓰기 쪽을 비관적 락과 원자적 UPDATE로 잠근 뒤에는, afterCommit DELETE + TTL 안전망만으로 충분했습니다.캐시가 필요한 이유: 속도가 아니라 DB 보호인덱스 최적화 + Cursor 페이지네이션까지 적용하고 나니, 상품 목..