콘텐츠로 이동

Redis (Remote Dictionary Server)

Redis는 고성능 키-값(Key-Value) 구조의 비관계형(NoSQL) 데이터를 관리하기 위한 오픈 소스 인메모리(In-Memory) 데이터 구조 저장소입니다.

1. 주요 특징

  • 인메모리 (In-Memory): 모든 데이터를 RAM에 저장하여 초당 수십만 건의 읽기/쓰기 성능을 제공합니다.
  • 다양한 데이터 구조 지원: 단순 String뿐만 아니라 List, Set, Sorted Set, Hashes, Bitmaps, HyperLogLogs 등 다양한 데이터 타입을 지원합니다.
  • 영속성 (Persistence): 메모리 기반이지만 데이터를 디스크에 저장(RDB, AOF)하여 서버 재시작 시 복구할 수 있는 기능을 제공합니다.
  • 싱글 스레드 (Single-Threaded): 명령어 처리는 싱글 스레드로 수행되어 Race Condition(경합 상태)을 방지하며 원자성(Atomicity)을 보장합니다.

2. 주요 사용 사례

  • 캐싱 (Caching): DB 부하를 줄이기 위해 자주 조회되는 데이터를 저장합니다.
  • 세션 관리 (Session Management): 분산 서버 환경에서 사용자의 로그인 세션 정보를 공유할 때 사용합니다.
  • 실시간 순위표 (Leaderboard): Sorted Set을 사용하여 점수 기반의 실시간 랭킹 시스템을 쉽게 구현합니다.
  • 메시지 브로커: Pub/Sub 기능을 통해 간단한 메시지 큐 시스템으로 활용 가능합니다.

3. 요약

구분 설명
형태 Key-Value NoSQL
속도 매우 빠름 (In-Memory)
휘발성 기본적으로 휘발성이지만 디스크 저장 옵션 존재
용도 캐시, 세션, 실시간 분석, 메시지 큐 등