전체 목록
데이터베이스Medium#407

Redis의 주요 데이터 구조와 활용 사례를 설명해주세요.

#데이터베이스#Redis#자료구조#캐시

답변 포인트

Redis가 단순 key-value 저장소를 넘어 어떤 자료구조를 제공하는지 생각해보세요.

정답 및 해설

빠른 요약

Redis는 메모리 내(In-memory) 데이터 구조 저장소로, 매우 빠른 속도가 특징인 오픈 소스 데이터베이스입니다. ## 주요 데이터 구조 1.

Redis는 메모리 내(In-memory) 데이터 구조 저장소로, 매우 빠른 속도가 특징인 오픈 소스 데이터베이스입니다.

주요 데이터 구조

  1. Strings: 가장 기본적인 타입. 텍스트, 숫자, 심지어 이미지 바이너리도 저장 가능합니다.
  2. Lists: 연결 리스트(Linked List) 구조. 데이터를 순서대로 저장하며 push/pop 연산에 최적화되어 있습니다.
  3. Sets: 중복되지 않는 문자열 집합. 합집합, 교집합, 차집합 등 집합 연산이 가능합니다.
  4. Sorted Sets (ZSet): Set에 '점수(Score)' 개념이 추가된 구조. 점수에 따라 자동으로 정렬됩니다.
  5. Hashes: 필드-값 쌍으로 이루어진 객체 형태의 데이터 구조. (JSON 객체와 유사)

주요 활용 사례

  1. 캐싱 (Caching): DB 조회 결과를 저장하여 읽기 성능을 극대화합니다. (가장 흔한 사례)
  2. 세션 관리 (Session Management): 사용자 로그인 세션 정보를 저장하여 빠른 인증 처리를 지원합니다.
  3. 실시간 순위표 (Leaderboards): Sorted Set을 사용하여 실시간 게임 점수나 인기 게시물 순위를 관리합니다.
  4. 메시지 큐 (Message Queues): List 구조를 사용하여 작업(Job)을 순차적으로 처리하는 큐로 활용합니다.
  5. 실시간 채팅/Pub-Sub: Publish/Subscribe 메커니즘을 사용하여 실시간 메시징 시스템을 구현합니다.

주의사항

  • 휘발성: 메모리 기반이므로 전원이 꺼지면 데이터가 사라질 수 있습니다. (RDB, AOF 설정을 통해 영속성 확보 가능)
  • 메모리 관리: 데이터가 많아지면 RAM 사용량이 급증하므로 적절한 만료 시간(TTL) 설정이 필수적입니다.

관련 질문

같은 카테고리/태그 기준