백엔드 개발 · 기초
Redis에서 제공하는 주요 데이터 구조 중 String, Hash, List의 기본적인 특징과 각각 어떤 상황에 적합한지 간략히 설명해 주세요.
힌트 · String은 단순 키-값, Hash는 객체 저장, List는 순서 있는 요소 컬렉션에 적합합니다.
Key-ValueAtomic캐싱정렬부분 업데이트
모범답안
Redis는 다양한 데이터 구조를 제공하여 효율적인 데이터 관리를 가능하게 합니다. String, Hash, List는 그중에서도 핵심적인 구조들입니다.
String은 가장 기본적인 키-값 저장 방식입니다. Atomic 연산을 지원하여 동시성 제어가 필요한 카운터 구현이나 간단한 캐싱에 적합합니다.
Hash는 객체를 저장하기에 유용합니다. 여러 필드-값 쌍을 하나의 키에 묶어 관리할 수 있어, 사용자 정보나 상품 정보와 같이 부분적인 업데이트가 잦은 데이터에 효과적입니다.
List는 순서가 있는 요소들의 컬렉션을 저장합니다. push, pop 연산을 통해 큐나 스택으로 활용할 수 있으며, 최근 게시물 목록이나 로그 기록과 같이 정렬된 데이터를 관리하는 데 적합합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 캐시 (Redis) 면접 질문
- 캐싱(Caching)이란 무엇이며, 시스템 성능 향상에 어떤 기여를 하는지 설명해 주세요.
- Redis가 캐싱 솔루션으로 널리 사용되는 주요 이유 두 가지 이상을 설명해 주세요.
- 캐시 히트(Cache Hit)와 캐시 미스(Cache Miss)는 무엇을 의미하며, 각각 발생했을 때 시스템은 어떻게 동작하는지 설명해 주세요.
- Redis에서 TTL(Time To Live)은 무엇이며, 캐시 데이터의 유효성을 관리하는 데 어떻게 사용되는지 설명해 주세요.
- 캐시 무효화(Cache Invalidation)는 왜 중요하며, 이를 관리하기 위한 기본적인 방법으로는 어떤 것들이 있을까요?