패스잇
백엔드 개발 · 중급

캐시 무효화 전략 중 Write-through, Write-back, Lazy loading(Write-aside) 방식의 차이점과 각각의 장단점을 설명하고, 특정 상황에 적합한 전략을 선택하는 기준에 대해 설명해 주세요.

힌트 · 데이터 일관성, 쓰기 성능, 읽기 성능 측면에서 각 전략의 동작 방식과 특징을 비교하고, 사용 시나리오에 따른 적합성을 고려해야 합니다.

Write-throughWrite-backLazy loading (Write-aside)일관성성능

모범답안

면접관님, 캐시 무효화 전략에 대해 설명드리겠습니다.

Write-through는 캐시에 데이터를 쓸 때마다 DB에도 즉시 반영하는 방식입니다. 데이터 일관성은 높지만 쓰기 성능이 떨어집니다. Write-back은 캐시에만 쓰고, 나중에 DB에 비동기적으로 반영합니다. 쓰기 성능은 좋지만, 시스템 장애 시 데이터 손실 위험이 있고, 구현이 복잡합니다. Lazy loading (Write-aside)은 캐시에 데이터가 없을 때만 DB에서 가져오는 방식입니다. 읽기 성능은 좋지만, 캐시 미스 시 DB 부하가 증가할 수 있습니다.

전략 선택 기준은 데이터 일관성 요구 수준과 성능 요구 사항에 따라 달라집니다. 높은 일관성이 중요하다면 Write-through, 쓰기 성능이 중요하다면 Write-back, 읽기 성능이 중요하고 DB 부하를 감당할 수 있다면 Lazy loading을 선택할 수 있습니다. 예를 들어, 금융 거래처럼 데이터 정확성이 중요한 경우에는 Write-through가 적합하고, 소셜 미디어의 게시글처럼 약간의 데이터 손실이 허용된다면 Write-back이 더 나은 선택일 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 캐시 (Redis) 면접 질문

← 캐시 (Redis) 면접 질문 전체 보기