Redis는 메모리 기반의 Key-Value 데이터 저장소(In-Memory Data Store) 이다.
Redis는 “빠른 판단을 위해 잠깐 데이터를 기억하는 서버”다.
Client → Web Server → Database

Client → Web Server → Redis → Database
key → value
session:SID123 → user_id=1001
| 자료구조 | 용도 예시 |
|---|---|
| STRING | 세션, 캐시 |
| LIST | 큐, 작업 대기열 |
| SET | 중복 제거, 이벤트 참여 |
| HASH | 객체(장바구니, 프로필) |
| ZSET | 랭킹, 점수 |
👉 단순 캐시보다 활용 범위가 훨씬 넓음
| 항목 | Redis | RDB |
|---|---|---|
| 저장 위치 | 메모리 | 디스크 |
| 기본 데이터 | 없음 | 있음 |
| 스키마 | 없음 | 있음 |
| 영구성 | 선택적 | 기본 |
| 목적 | 속도 | 정확성 |
Redis는 “Primary Database”가 아니라“보조 데이터 저장소(Secondary Data Store)”다.

session:SID123 → user_id=1001 (TTL 30분)
👉 대부분의 요청은 Redis에서 끝남
로그인 세션 → 30분
OTP → 3분
캐시 → 1분
👉 자동 로그아웃 / 자동 캐시 만료
Redis는 메모리 기반이지만
장애 복구를 위해 디스크 저장 기능도 제공
👉 목적은 DB 대체가 아니라 서비스 복구
| 분야 | 사용 목적 |
|---|---|
| 웹 서비스 | 세션, 캐시 |
| 이커머스 | 장바구니, 랭킹 |
| 게임 | 실시간 점수 |
| API 서버 | Rate Limit |
| 마이크로서비스 | 공용 상태 저장 |
Redis는 “데이터를 저장하기 위한 서버”가 아니라“서비스를 빠르게 만들기 위한 서버”다.
| 구분 | 위치 |
|---|---|
| LocalStorage | 사용자 브라우저 |
| SessionStorage | 사용자 브라우저 |
| Redis | 서버 측 (중앙 서버) |
| 항목 | Browser Storage | Redis |
|---|---|---|
| 사용자 조작 | 가능 (개발자도구) | 불가능 |
| 위·변조 | 쉬움 | 어려움 |
| 인증 데이터 저장 | ❌ 위험 | ⭕ 안전 |
| 서버 신뢰성 | 없음 | 있음 |
| 구분 | 만료 |
|---|---|
| LocalStorage | ❌ 없음 (수동 삭제) |
| SessionStorage | 탭 닫히면 삭제 |
| Redis | ⭕ TTL 자동 관리 |
| 항목 | Browser Storage | Redis |
|---|---|---|
| 접근 속도 | 빠름 (로컬) | 매우 빠름 (메모리) |
| 네트워크 | 없음 | 있음 |
| 사용 목적 | UI 상태 | 서버 판단 |
| 대표 예 | 다크모드, 토큰 | 세션, 캐시 |
다크모드 여부
최근 검색어
UI 설정값
임시 입력값
로그인 세션
인증 상태
장바구니
캐시 데이터
Rate Limit
Redis는 빠른 응답을 위해 데이터를 “잠깐 기억하는” 서버다.
DB 앞단에서 단순·반복 작업을 처리해 서비스 병목을 제거한다.
따라서 Redis의 가치는 데이터 저장이 아니라 서비스 성능 개선에 있다.