캐싱(Caching) 전략의 종류와 각각의 사용 시나리오를 설명해주세요.
힌트 · Cache Aside, Write Through, Write Back, Read Through 패턴과 Cache Invalidation 문제를 설명해보세요.
모범답안
캐싱 전략은 크게 읽기 전략과 쓰기 전략으로 나눌 수 있습니다. 읽기 전략으로는 Cache Aside와 Read Through가 있습니다. Cache Aside는 애플리케이션이 직접 캐시를 확인하고, 없으면 데이터베이스에서 가져와 캐시에 저장하는 방식입니다. Read Through는 캐시가 데이터베이스와 연동되어, 애플리케이션은 캐시에만 접근하는 방식입니다.
쓰기 전략으로는 Write Through와 Write Back이 있습니다. Write Through는 데이터를 캐시와 데이터베이스에 동시에 쓰는 방식이고, Write Back은 캐시에만 쓰고 나중에 데이터베이스에 비동기적으로 쓰는 방식입니다. Write Back은 성능이 좋지만 데이터 손실 위험이 있습니다.
캐시 교체 알고리즘으로는 LRU (Least Recently Used), LFU (Least Frequently Used) 등이 있습니다. LRU는 가장 오랫동안 사용되지 않은 데이터를, LFU는 가장 적게 사용된 데이터를 삭제합니다.
Cache Invalidation은 데이터베이스의 데이터가 변경되었을 때 캐시의 데이터를 최신 상태로 유지하는 문제입니다. TTL (Time To Live) 설정, 이벤트 기반 무효화 등의 방법이 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.