로컬 캐시와 공유 캐시
로컬 캐시란?
하나의 프로세스 내부에만 존재하는 캐시
위치: JVM 메모리, 프로세스 내부 메모리
장점: 접근 속도 가장 빠름
단점: 다른 서버/인스턴스와 절대 공유 안 됨,서버 재시작하면 캐시 전부 날아감
공유 캐시란?
여러 인스턴스가 함께 사용하는 캐시
위치: 외부 시스템, 네트워크를 통해 접근
장점: 서버 수가 늘어나도 데이터 일관성 유지,로컬 캐시보다 느리지만 DB보단 빠름
단점: 네트워크 장애 영향 받음
TTL
데이터가 캐시에 살아있을 수 있는 유효 시간
사용 이유: 캐시는 영원히 믿을 수 있는 저장소가 아니다.
TTL이 없으면 오래된 데이터가 계속 남고 실제 DB 값과 캐시 값 불일치할 수 있으며 메모리가 무한 증가한다.
그래서 신뢰할 수 있는 기간을 명시하는 용도이다.
TTL이 있어도 공유 캐시를 사용하는 이유
TTL은 ‘시간 문제’만 해결하고 ‘서버 간 불일치 문제’는 해결하지 못한다.
예를들어 메뉴가 DB에서 품절로 변경되었다고 하더라도 주문 가능한 상태로 사용자에게 보여진다.
또는 1초 차이로 각 사용자가 보고 있는 메뉴 목록이 다르게 보일 수 있다.
특히, ttl을 신뢰하고 로컬캐시를 사용하는 것은 정합성을 시간에 맡기는 설계와 같다.
'TIL' 카테고리의 다른 글
| TIL/251222 (0) | 2025.12.22 |
|---|---|
| TIL/251219 (0) | 2025.12.19 |
| TIL/ 연관관계 매핑 (0) | 2025.10.21 |
| TIL / RESTful API (0) | 2025.10.17 |