Redis 이란
인메모리 데이터 저장소
Redis는 데이터베이스, 캐시 및 메시지 브로커로 사용되는 고성능 오픈소스 인메모리 데이터 저장소입니다.
데이터 구조
- Strings — 간단한 문자열과 숫자
- Lists — 연결 리스트
- Sets — 고유한 정렬되지 않은 요소
- Sorted Sets — 점수가 있는 정렬된 집합
- Hashes — 키-값 딕셔너리
- Streams — 이벤트 스트림 (이벤트 로그)
주요 기능
- 속도: 초당 100,000+ 작업
- 영속성: RDB 스냅샷 및 AOF 로그
- 복제: 마스터-슬레이브, Redis Sentinel
- 클러스터링: Redis Cluster (샤딩)
- Pub/Sub: 메시지 게시 및 구독
- Lua 스크립트: 원자적 트랜잭션
사용 사례
- 캐싱 — 세션, API 응답, 쿼리 결과
- 작업 큐 — 백그라운드 처리, 작업 큐
- 속도 제한 — API 요청 제한
- 리더보드 — 순위 및 톱
- 실시간 분석 — 카운터, 메트릭
- 지리적 위치 — 좌표 기반 검색
명령어
- SET/GET — 문자열 작업
- LPUSH/RPOP — 큐
- SADD/SMEMBERS — 집합
- ZADD/ZRANGE — 정렬된 집합
- HSET/HGET — 해시