Redis 완전 학습 가이드

Redis를 처음 배우는 단계부터 프로덕션 운영까지, 데이터 구조부터 Spring 통합, 분산락, 이벤트 스트리밍까지 모든 것을 다룹니다.


목차

1부. Redis 기초

#제목핵심 내용
01Redis란 무엇인가인메모리 DB, 영속성, 아키텍처, 사용 사례
02설치와 CLIredis-server, redis-cli, 기본 명령어, RESP 프로토콜
03데이터 타입 개요String, List, Set, ZSet, Hash, Bitmap, HyperLogLog, Stream

2부. 데이터 타입 상세

#제목핵심 내용
04StringSET/GET, INCR, SETEX, SETNX, 비트 연산, 사용 패턴
05ListLPUSH/RPUSH, LRANGE, BLPOP, 작업 큐, 스택
06SetSADD/SMEMBERS, 교집합/합집합/차집합, 태그 시스템
07Sorted SetZADD/ZRANGE, 점수 기반 정렬, 리더보드, 범위 쿼리
08HashHSET/HGET, 객체 저장, 부분 업데이트, 메모리 최적화
09Bitmap & HyperLogLog비트 플래그, 대규모 중복 제거, DAU 측정
10GeospatialGEOADD, GEORADIUS, 위치 기반 서비스
11StreamsXADD/XREAD, Consumer Group, Kafka 유사 패턴

3부. 핵심 기능

#제목핵심 내용
12TTL & 만료 정책EXPIRE, TTL, 만료 이벤트, eviction 정책
13트랜잭션 & LuaMULTI/EXEC, WATCH, Lua 스크립트, 원자성
14Pub/SubPUBLISH/SUBSCRIBE, 패턴 구독, Keyspace 알림
15Pipeline & 배치Pipelining, MSET/MGET, 성능 최적화

4부. 영속성과 고가용성

#제목핵심 내용
16영속성 — RDB & AOFRDB 스냅샷, AOF 로그, 복합 사용 전략
17복제 — Master/Replica복제 원리, 비동기 복제, WAIT 명령어
18Redis Sentinel자동 장애조치, 모니터링, 클라이언트 연동
19Redis Cluster샤딩, 해시 슬롯, 클러스터 토폴로지, 운영

5부. 실무 패턴

#제목핵심 내용
20캐싱 패턴Cache-Aside, Write-Through, Cache Stampede 방지
21세션 관리세션 저장소, Spring Session, 멀티 서버 세션
22Rate Limiting고정 윈도우, 슬라이딩 윈도우, 토큰 버킷
23분산 락SETNX, Redlock 알고리즘, Redisson 분산 락
24리더보드 & 랭킹Sorted Set 기반 실시간 순위, 페이지네이션
25메시지 큐 패턴List 기반 큐, Stream 기반 큐, Pub/Sub 비교

6부. Spring 통합

#제목핵심 내용
26Spring Data RedisRedisTemplate 설정, 직렬화, CRUD 패턴
27RedisTemplate API 전체ValueOps, ListOps, SetOps, ZSetOps, HashOps
28Spring Cache 추상화@Cacheable, @CacheEvict, @CachePut, TTL 설정
29Spring SessionHttpSession → Redis, 세션 공유, 설정
30Lettuce 클라이언트비동기/리액티브, 커넥션 풀, Cluster 연동
31Redisson분산 자료구조, RLock, RMap, RQueue, 스케줄러

7부. 데이터 모델링

#제목핵심 내용
32Redis 데이터 모델링키 네이밍, 관계 표현, 역인덱스, 페이지네이션
33RedisJSON & RediSearchJSON 문서 저장, 전문 검색, 인덱싱

8부. 성능과 운영

#제목핵심 내용
34메모리 최적화인코딩 최적화, 압축, 메모리 분석
35성능 튜닝SLOWLOG, latency, 커넥션 풀, 벤치마크
36모니터링INFO 명령어, Redis Exporter, Grafana, 알림
37보안인증, TLS, ACL, 네트워크 격리
38운영 가이드백업, 복구, 마이그레이션, SCAN, DEBUG

학습 로드맵

입문 (1주)
  01 → 02 → 03 → 04~11 (데이터 타입 훑기)

중급 (2주)
  12~15 (TTL, 트랜잭션, Pub/Sub, Pipeline)
  16~19 (영속성, 복제, Sentinel, Cluster)

실무 (3주)
  20~25 (캐싱, 세션, Rate Limiting, 분산락, 랭킹, 큐)
  26~31 (Spring 통합 전체)

심화 (4주)
  32~33 (데이터 모델링, JSON/Search)
  34~38 (메모리, 성능, 모니터링, 보안, 운영)

빠른 참조

데이터 타입 선택 가이드

요구사항타입
단순 키-값, 카운터, 세션String
순서 있는 목록, 작업 큐List
중복 없는 집합, 태그Set
점수 기반 정렬, 리더보드Sorted Set (ZSet)
필드-값 객체, 사용자 프로필Hash
방문자 중복 제거, DAUHyperLogLog
비트 플래그 (출석, 기능 플래그)Bitmap
위치 정보, 근처 매장Geospatial
메시지 스트리밍, Consumer GroupStream

Spring 통합 선택 가이드

상황선택
단순 캐싱@Cacheable + Spring Cache
세션 클러스터링Spring Session + Redis
세밀한 Redis 제어RedisTemplate
비동기/리액티브Lettuce + ReactiveRedisTemplate
분산 락, 분산 자료구조Redisson
고성능 배치Pipeline (Lettuce/RedisTemplate)

관련 시리즈

38 items under this folder.