백엔드 개발 · 기초
Redis에서 TTL(Time To Live)은 무엇이며, 캐시 데이터의 유효성을 관리하는 데 어떻게 사용되는지 설명해 주세요.
힌트 · 데이터가 캐시에 저장될 수 있는 최대 시간을 설정하여, 오래되거나 무효한 데이터가 계속 사용되는 것을 방지합니다.
TTL만료캐시 무효화메모리 관리자동 삭제
모범답안
Redis에서 TTL은 Time To Live의 약자로, 키가 자동으로 삭제되기까지 남아있는 시간을 의미합니다. 캐싱에서 TTL은 데이터의 유효 기간을 설정하는 데 사용됩니다.
예를 들어, 특정 데이터를 캐시에 저장할 때 TTL을 5분으로 설정하면, 5분 후에 해당 키는 자동으로 삭제됩니다. 이렇게 함으로써 오래된 데이터가 계속 캐시에 남아있어 발생하는 문제를 방지할 수 있습니다.
TTL을 사용하면 캐시의 일관성을 유지하고 메모리 공간을 효율적으로 관리할 수 있습니다. 데이터가 만료되면 Redis는 자동으로 해당 키를 삭제하므로, 개발자가 직접 캐시를 무효화하는 로직을 구현할 필요가 줄어듭니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 캐시 (Redis) 면접 질문
- Redis가 캐싱 솔루션으로 널리 사용되는 주요 이유 두 가지 이상을 설명해 주세요.
- Redis에서 제공하는 주요 데이터 구조 중 String, Hash, List의 기본적인 특징과 각각 어떤 상황에 적합한지 간략히 설명해 주세요.
- 캐시 히트(Cache Hit)와 캐시 미스(Cache Miss)는 무엇을 의미하며, 각각 발생했을 때 시스템은 어떻게 동작하는지 설명해 주세요.
- 캐시 무효화(Cache Invalidation)는 왜 중요하며, 이를 관리하기 위한 기본적인 방법으로는 어떤 것들이 있을까요?
- 가장 기본적인 캐싱 전략 중 하나인 'Cache-Aside' 패턴에 대해 설명해 주세요. 데이터 읽기 및 쓰기 시 어떻게 동작하나요?
- 캐시 무효화 전략 중 Write-through, Write-back, Lazy loading(Write-aside) 방식의 차이점과 각각의 장단점을 설명하고, 특정 상황에 적합한 전략을 선택하는 기준에 대해 설명해 주세요.