로컬 캐시와 공유 캐시 

 

로컬 캐시란? 

하나의 프로세스 내부에만 존재하는 캐시 

위치: 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

+ Recent posts