그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록Cache
Cache

캐싱 전략과 캐시 불일치를 줄이는 쓰기 전략을 설명해 주세요.

실무4/5
설계4/5
인간4/5
기초3/5

면접관의 질문 의도

캐시를 단순 성능 도구로만 보는지, 아니면 읽기·쓰기 경로와 정합성 트레이드오프까지 정해진 기준으로 풀 수 있는지를 가른다.

큐레이션 답변

학습 자료

Cache Aside는 읽기 시 캐시 미스가 나면 원본 DB에서 가져와 캐시에 적재하는 가장 흔한 패턴이다 — "실제로 읽히는 데이터만" 캐시에 남는다. 쓰기 쪽은 보통 세 가지 중 고른다. Write Through는 캐시와 원본을 동시에 갱신해 정합성을 가장 강하게 가져가지만 쓰기 지연이 늘어난다. Cache Invalidation은 쓰기 시 캐시를 지우고 다음 읽기에서 다시 채우게 한다 — 단순하지만 캐시 미스 폭증과 동시성 경합이 따라온다. Write Behind는 캐시를 먼저 쓰고 원본 반영을 비동기로 미뤄 쓰기 처리량을 끌어올리지만 장애 시 데이터 유실 위험이 생긴다. 즉 캐시 설계는 "정합성·지연·비용" 중 무엇을 어느 데이터에서 양보할지 정하는 일이다.

좋은 답변 구조

  1. 01캐시 도입 목적(읽기 가속·DB 부하 완화)을 짚고 Cache Aside의 읽기 흐름을 정리한다
  2. 02Write Through·Invalidation·Write Behind 각각의 동작과 정합성·지연·비용 트레이드오프를 비교한다
  3. 03데이터 종류(자주 갱신/거의 안 바뀜, 정합성 강함/약함 허용)에 따라 어떤 전략이 적정한지 분기로 든다
  4. 04TTL·캐시 스탬피드·장애 시 fallback 같은 운영 디테일로 마무리한다

자주 실수하는 포인트

캐시 적중률만 강조하고 정합성 문제를 빠뜨린다
모든 데이터에 같은 TTL과 같은 쓰기 전략을 적용한다
Write Behind를 "항상 빠른 방식"으로 단정하고 장애 시 데이터 유실 가능성을 다루지 못한다
캐시 무효화와 갱신을 동시에 받을 때 생기는 경쟁 조건(stale write 덮어쓰기)을 무시한다

실무 맥락

  • 조회 비중이 압도적인 상품 카탈로그·콘텐츠 메타데이터 캐싱
  • 트래픽 급증 구간에서 DB 부하 완화가 필요한 검색·랭킹 시스템
  • 피드처럼 "몇 초 정도의 지연 일관성"을 허용해 쓰기 처리량을 올리고 싶은 도메인
  • 정합성 요구가 강한 재고·잔액 데이터에 캐싱을 얹어야 해 쓰기 전략 선택이 예민한 서비스

본인 경험에 녹이는 힌트

캐시 도입 전후 p95 응답 시간과 DB QPS 변화를 수치로 본 경험이 있다면 "전략 선택이 정량적으로 다른 결과를 낸다"는 근거로 풀어낼 수 있다

캐시 정합성 사고(옛 값이 노출되거나 stale write로 덮어써짐)를 추적해 본 경험이 있다면 무효화 정책 선택의 사례로 보여 줄 수 있다

캐시 키 설계·TTL·무효화 시그널을 다시 잡아 본 경험이 있다면 "캐시는 키 설계가 절반"이라는 관점으로 일반화할 수 있다

Write Behind를 도입했다가 장애 직전 미반영 쓰기를 복구해야 했던 경험이 있다면 비동기 전략의 리스크 이야기로 이어갈 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1Cache Aside에서 초기 캐시 미스 폭주(콜드 스타트)는 어떻게 완화하나요
Q2Write Behind 적용 시 데이터 유실 위험은 어떻게 줄이나요
Q3동시 쓰기 환경에서 캐시 무효화 경쟁 조건은 어떻게 처리하나요
Q4캐시 스탬피드(thundering herd)를 막기 위한 접근 방식은 무엇인가요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문