패스잇
백엔드 개발 · 중급

Redis에서 설정 가능한 다양한 eviction 정책(예: LRU, LFU, volatile-lru 등)에 대해 설명하고, 서비스 특성을 고려하여 적절한 정책을 선택하는 기준과 그 이유를 설명해 주세요.

힌트 · `maxmemory` 설정과 함께 어떤 데이터를 유지하고 어떤 데이터를 버릴지에 대한 정책별 기준과 시나리오를 고려하여 설명합니다.

LRULFUTTL메모리 사용량데이터 중요도

모범답안

Redis는 maxmemory 설정을 통해 메모리 사용량을 제한하고, 제한 초과 시 eviction 정책에 따라 데이터를 삭제합니다. 다양한 정책 중 대표적인 것은 LRU, LFU, volatile-lru 등이 있습니다.

LRU(Least Recently Used)는 가장 오랫동안 사용되지 않은 데이터를 삭제합니다. LFU(Least Frequently Used)는 사용 빈도가 가장 낮은 데이터를 삭제합니다. volatile-lru는 TTL이 설정된 키 중에서 LRU 방식으로 삭제합니다.

서비스 특성에 따라 적절한 정책을 선택해야 합니다. 예를 들어, 최근 데이터 접근 빈도가 높은 서비스에는 LRU가 적합합니다. 반면, 특정 데이터의 접근 빈도가 낮더라도 중요한 데이터라면 LFU나 volatile-lru (TTL 설정)를 통해 유지할 수 있습니다. 중요한 데이터는 TTL을 길게 설정하여 삭제 가능성을 낮출 수도 있습니다. 메모리 사용량과 데이터 중요도를 고려하여 최적의 정책을 선택하는 것이 중요합니다.

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

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

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

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