📌 한눈에 보는 핵심
- 캐시(Cache)의 본질: 데이터를 재사용하여 조회 부담을 줄임.
- 핵심 리스크: 원본 데이터가 변경되었음에도 이전 값(오래된 데이터)이 그대로 남아있을 수 있음.
- 필수 대책: 데이터 불일치를 막기 위한 갱신 전략이 반드시 동반되어야 함.
📝 개념별 복습 노트
- 캐시의 역할과 장점
- 자주 조회되는 데이터를 빠르게 가져올 수 있도록 임시 저장소에 보관합니다.
- 원본 데이터베이스나 외부 API로 향하는 직접적인 조회 부담을 대폭 줄여 시스템 성능을 높입니다.
- 캐시의 위험성 (데이터 정합성 문제)
- 원본 데이터는 수정되었는데 캐시된 데이터는 갱신되지 않으면, 사용자는 잘못된(이전) 값을 보게 됩니다.
- 갱신 전략의 필요성
- 데이터의 최신 상태를 유지하기 위해 캐시를 언제, 어떻게 지우거나 바꿀 것인지 정하는 규칙(예: 만료 시간 설정, 데이터 변경 시 즉시 무효화 등)이 필요합니다.
🔄 관계 및 흐름
[클라이언트 요청] ──> [캐시 확인]
│
┌────────────────┴────────────────┐
(데이터 있음) (데이터 없음 / 만료됨)
│ │
[캐시된 값 반환] [원본 데이터 조회] ──> [캐시 갱신]
❓ 복습 질문
- 캐시를 도입했을 때 얻을 수 있는 가장 큰 장점은 무엇인가요?
- 캐시를 사용할 때 반드시 갱신 전략이 필요한 이유는 무엇인가요?
💡 한 줄 팁: 실제 시스템에 적용할 때는 서비스의 데이터 성격(주기적으로 바뀌는지, 실시간성이 중요한지)에 맞춰 적절한 캐시 만료(TTL) 시간이나 무효화 방식을 선택해야 합니다.
의견 보내기