패스잇
시스템 설계 · 기초

시스템 성능 향상 및 부하 감소를 위해 '캐싱(Caching)' 기법을 활용합니다. 캐싱의 기본 원리와 어떤 종류의 데이터를 캐싱할 수 있는지 설명해주세요.

힌트 · 캐싱은 자주 접근하는 데이터를 임시 저장하여 빠르게 재사용함으로써 데이터 조회 시간을 단축하고 원본 시스템의 부하를 줄입니다. 웹 페이지, 데이터베이스 쿼리 결과 등을 캐싱할 수 있습니다.

캐시 메모리지역성유효 시간(TTL)CDN데이터베이스 쿼리

모범답안

캐싱은 자주 사용되는 데이터를 임시 저장소(캐시 메모리)에 저장해두고, 이후 요청 시 원본 데이터에 접근하는 대신 캐시에서 데이터를 가져오는 방식입니다. 이렇게 하면 데이터 접근 시간을 단축하고, 원본 시스템의 부하를 줄일 수 있습니다.

캐싱의 기본 원리는 '지역성'을 활용하는 것입니다. 시간 지역성은 최근에 사용된 데이터가 다시 사용될 가능성이 높다는 것을 의미하고, 공간 지역성은 특정 데이터와 가까운 위치의 데이터가 함께 사용될 가능성이 높다는 것을 의미합니다.

캐싱할 수 있는 데이터 종류는 다양합니다. 예를 들어, 웹 페이지의 정적 콘텐츠(이미지, CSS, JavaScript 파일), 데이터베이스 쿼리 결과, API 응답, 세션 정보 등을 캐싱할 수 있습니다. 캐시된 데이터는 유효 시간(TTL)을 설정하여 관리하고, 필요에 따라 캐시를 갱신하거나 삭제합니다. CDN(콘텐츠 전송 네트워크)도 캐싱 기술을 활용하여 사용자에게 더 가까운 위치에서 콘텐츠를 제공함으로써 성능을 향상시킵니다.

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

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

함께 보는 대용량 트래픽 설계 면접 질문

← 대용량 트래픽 설계 면접 질문 전체 보기