Redis
🧠 Redis란?
정의
Redis는 메모리 기반의 고성능 데이터 저장소이다. 캐시, 세션, 간단한 데이터 저장, 메시지 큐 보조 용도 등으로 자주 사용한다.
🎯 사용하는 이유
- 메모리 기반이라 빠르다.
- 키-값 구조로 접근이 쉽다.
- 다양한 자료구조를 지원한다.
- 캐시, 세션, 간단한 상태 저장에 유용하다.
포인트
Redis는 빠르게 읽고 쓰기 좋은 인메모리 저장소로 이해하면 좋다.
🧱 주요 활용처
- 캐시
- 세션 저장소
- 토큰 저장소
- 분산 락
- 순위표
- 간단한 큐 보조
🧩 Redis의 특징
- 메모리 기반이라 응답 속도가 빠르다.
- 문자열, 리스트, 해시, 셋, 정렬된 셋 등을 지원한다.
- 필요하면 디스크에 저장해 데이터 유실을 줄일 수 있다.
- TTL을 설정해 만료 관리를 할 수 있다.
🔍 자주 쓰는 자료구조
| 자료구조 | 설명 |
|---|---|
| String | 단순 값 저장 |
| List | 순서가 있는 데이터 |
| Hash | 필드-값 구조 |
| Set | 중복 없는 집합 |
| Sorted Set | 점수 기반 정렬 집합 |
🛠️ Redis와 캐시
- 자주 조회하는 데이터를 저장한다.
- DB 조회 비용을 줄인다.
- 만료 시간을 둬서 오래된 데이터가 남지 않게 한다.
정리
Cache는 자주 쓰는 데이터를 빠르게 꺼내기 위한 임시 저장소이고, Redis는 그 용도로 매우 자주 쓰이는 대표적인 저장소다.
🧩 Redis와 메시지 처리
- Redis Pub/Sub
- Redis Streams
- MessageQueue 보조 용도
[!important] 주의 Redis를 메시지 브로커처럼 쓸 수는 있지만, 모든 상황에서 전용 MQ를 대체할 수 있는 것은 아니다. 요구사항에 따라 Kafka나 RabbitMQ가 더 적합할 수 있다.
⚠️ 주의할 점
- 메모리 사용량을 꾸준히 관리해야 한다.
- 만료 정책을 잘 설정해야 한다.
- 데이터 영속성이 필요한지 먼저 판단해야 한다.
- 캐시와 원본 데이터의 정합성을 고려해야 한다.
✅ 활용 예시
- 인증 세션 저장
- API 응답 캐시
- 인기 게시글 캐시
- 분산 작업 상태 저장
- 임시 토큰 저장
🧾 정리
Redis는 빠른 속도가 필요한 메모리 기반 저장소이다. 캐시, 세션, 분산 처리 보조 도구로 매우 유용하며, 상황에 따라 메시지 처리에도 활용할 수 있다.
댓글남기기