
Redis란?
Remote Dictionary Server의 약자.
메모리 기반의 Key-Value NoSQL 데이터베이스.
디스크에도 데이터를 저장 가능하지만, 주 저장소는 메모리.
빠른 속도와 Pub/Sub, Stream, Sorted Set 등의 다양한 자료구조를 지원.
싱글 스레드 기반(이벤트 루프 기반 I/O 처리)으로 동작하여 구조가 단순하면서도 빠름.
Redis의 주요 특징
In-Memory 기반
- 데이터를 메모리에 저장하여 읽기/쓰기 속도가 매우 빠름 (수십만 QPS 가능).
- 주로 캐싱(세션 관리, 랭킹, 메시지 큐) 용도로 사용.
Persistence(지속성) 지원
- 메모리 기반이지만 데이터 유실 방지를 위해 디스크에 저장 가능.
- RDB 스냅샷: 주기적으로 데이터를 덤프.
- AOF(Append Only File): 모든 Write 작업을 로그로 기록.
다양한 자료구조 지원
- String, List, Set, Sorted Set, Hash, Bitmap, HyperLogLog, Stream 등.
Atomic Operation 지원
- 단일 명령은 원자적으로 처리되어 race condition 방지 가능.
Replication (Master-Slave) 지원
- 읽기 부하 분산 및 고가용성 확보 가능.
Pub/Sub 지원
- 간단한 메시지 브로커처럼 사용 가능 (채팅, 실시간 알림 등).
Cluster 지원
- 샤딩 기반으로 수평적 확장 가능 (Redis Cluster).




Redis는 데이터를 Key-Value 쌍으로 저장하며, Key를 통해 Value를 즉시 조회할 수 있다.
네이밍 방식 (user:1:name)
- :을 구분자로 사용하여 네임스페이스(namespace)처럼 사용.
- user : 데이터 그룹(사용자)
- 1 : 사용자 ID
- name : 속성
이를 통해 데이터를 체계적으로 구분하여 관리할 수 있으며, 키를 검색할 때 user:1:* 와 같이 와일드카드로 특정 사용자 데이터만 가져올 수도 있다.
'멋쟁이 사자처럼' 카테고리의 다른 글
| [멋사 백엔드 부트캠프] Jenkins (0) | 2025.07.01 |
|---|---|
| [멋사 백엔드 부트캠프] WebSocket을 활용한 GPT AI 챗봇 만들기 (0) | 2025.07.01 |
| [멋사 백엔드 부트캠프] Websocekt이란 (0) | 2025.06.24 |
| [멋사 백엔드 부트캠프] docker 명령어 정리 (1) | 2025.06.24 |
| [멋사 백엔드 부트캠프] docker compose (0) | 2025.06.20 |