기초 개념, 기술 면접 대비

캐싱 면접 퀴즈

성능 최적화의 핵심 전략

캐시 전략, Redis, CDN, 브라우저 캐싱 등 다양한 레벨의 캐싱 기법을 마스터하세요.

로그인 없이 풀어보기
19개 문제, 무료

학습할 핵심 개념

캐시 히트와 미스
Cache-Aside, Read-Through, Write-Through
Redis 데이터 구조
CDN과 엣지 캐싱
캐시 무효화 전략
브라우저 캐싱

핵심 개념 미리보기

캐싱 면접에서 꼭 나오는 개념을 미리 확인하세요

캐시 기본과 캐시 계층

핵심

캐시 기본과 캐시 계층

캐시가 통하는 조건

  • 읽기가 쓰기보다 훨씬 많다 (읽기:쓰기 10:1 이상)
  • 접근이 일부 데이터에 집중된다 (상위 20% 키가 트래픽 대부분)
  • 약간 낡은 데이터를 허용할 수 있다
  • 원본 조회가 비싸다 (복잡한 조인, 외부 API 호출)

요청 경로의 캐시 계층

[브라우저 캐시]
      |
   [CDN / 엣지]
      |
[앱 로컬 캐시]
      |
[Redis 등 분산 캐시]
      |
[DB 버퍼 풀] -> [디스크]

실무 포인트

  • 히트율 = hits / (hits + misses). Redis는 INFO statskeyspace_hits / keyspace_misses로 계산
  • 히트율이 낮으면 메모리 증설보다 키 설계와 TTL을 먼저 의심한다
  • 쓰기가 잦은 데이터를 캐싱하면 무효화 비용이 이득을 넘는다
  • 캐시는 원본을 대신하지 못한다. DB가 죽으면 캐시만으로 오래 버티지 못한다
면접에서 이렇게 나옵니다
  • Q.캐시를 도입하기 전에 무엇을 먼저 확인해야 하나요?
  • Q.캐시 히트율이 낮을 때 어떤 순서로 원인을 찾나요?
  • Q.캐시에 넣으면 안 되는 데이터는 어떤 것인가요?

캐시 읽기와 쓰기 전략

핵심

캐시 읽기와 쓰기 전략

전략 비교

전략쓰기 경로강점약점
Cache-AsideDB 쓰고 캐시 삭제단순, 캐시 장애 내성첫 요청은 항상 미스
Write-Through캐시와 DB 동시 쓰기캐시가 항상 최신쓰기 지연 증가
Write-Back캐시만 쓰고 나중에 DB쓰기 폭주에 강함캐시 유실 시 데이터 손실
Write-AroundDB만 쓰고 캐시는 건너뜀안 읽는 데이터 낭비 없음쓰기 직후 읽기는 미스

Cache-Aside 읽기 흐름

GET key -> 미스
        -> DB SELECT
        -> SET key value EX ttl
        -> 응답

실무 포인트

  • 대부분의 서비스 기본값은 Cache-Aside. 캐시가 죽어도 DB로 서비스가 유지된다
  • 갱신 시 캐시를 새 값으로 덮기보다 삭제가 안전하다. 동시 갱신에서 옛 값이 덮어쓰는 경합을 피한다
  • Write-Back은 주문과 결제처럼 유실이 치명적인 데이터에는 쓰지 않는다
  • 작성 직후 상세 화면처럼 쓰고 바로 읽는 경로가 있으면 쓰기 시점에 캐시를 채우는 방식을 검토
면접에서 이렇게 나옵니다
  • Q.Cache-Aside와 Write-Through 중 무엇을 선택하고 왜 그렇게 판단했나요?
  • Q.데이터를 갱신할 때 캐시를 새 값으로 덮지 않고 삭제하는 이유는?
  • Q.Write-Back의 위험은 무엇이고 어떻게 완화하나요?

TTL과 캐시 무효화

핵심

TTL과 캐시 무효화

무효화 방식

  • TTL 만료: 가장 단순. 불일치를 허용할 시간을 초 단위로 명시한다
  • 키 삭제: 쓰기 트랜잭션 커밋 후 관련 키를 DEL
  • 버전 키: 키에 버전을 넣어 user:42:v7처럼 쓰고 구버전은 자연 만료시킨다
  • 조건부 재검증: HTTP ETag / If-None-Match로 변경 없으면 304 응답

TTL 선택 기준

데이터TTL 감각이유
코드와 설정 목록수십 분 이상거의 변하지 않음
상품과 프로필수 분변경되지만 즉시성 요구 낮음
재고와 잔액수 초 또는 캐시 안 함불일치 비용이 큼

실무 포인트

  • 키에 정렬, 필터, 페이지 같은 파라미터를 모두 담는다. 조건이 다른 목록이 같은 키를 쓰면 잘못된 응답이 나간다
  • 삭제는 반드시 커밋 이후에. 커밋 전에 지우면 롤백 시 캐시가 잘못 채워진다
  • 대량 키에 동일 TTL을 주면 만료가 한꺼번에 몰린다. TTL에 지터를 더해 분산한다
  • 무효화 누락은 조용히 오래 살아남는다. 캐시 키 생성과 삭제 지점을 코드에서 한곳으로 모은다
면접에서 이렇게 나옵니다
  • Q.캐시 무효화 전략에는 어떤 것이 있고 각각 언제 쓰나요?
  • Q.TTL은 어떤 기준으로 정하나요?
  • Q.트랜잭션 커밋 전에 캐시를 삭제하면 어떤 문제가 생기나요?

더 많은 개념과 문제는 가입 후 이용할 수 있어요

먼저 5문제 맛보기

캐싱 면접 빈출 질문

실제 면접에서 자주 나오는 질문들입니다

Q.

캐시를 도입하기 전에 무엇을 먼저 확인해야 하나요?

캐시 기본과 캐시 계층 개념 정리 보기
Q.

캐시 히트율이 낮을 때 어떤 순서로 원인을 찾나요?

캐시 기본과 캐시 계층 개념 정리 보기
Q.

캐시에 넣으면 안 되는 데이터는 어떤 것인가요?

캐시 기본과 캐시 계층 개념 정리 보기
Q.

브라우저 캐시, CDN, Redis는 각각 어떤 역할을 하나요?

캐시 기본과 캐시 계층 개념 정리 보기
Q.

Cache-Aside와 Write-Through 중 무엇을 선택하고 왜 그렇게 판단했나요?

캐시 읽기와 쓰기 전략 개념 정리 보기
Q.

데이터를 갱신할 때 캐시를 새 값으로 덮지 않고 삭제하는 이유는?

캐시 읽기와 쓰기 전략 개념 정리 보기
Q.

Write-Back의 위험은 무엇이고 어떻게 완화하나요?

캐시 읽기와 쓰기 전략 개념 정리 보기
Q.

캐시 서버가 다운되면 서비스는 어떻게 동작해야 하나요?

캐시 읽기와 쓰기 전략 개념 정리 보기

이런 점이 좋아요

서비스 성능 향상

비용 최적화

실무 필수 역량

지금 바로 시작하세요

무료로 캐싱 퀴즈를 풀고, AI 오답 분석으로 실력을 키우세요.