반응형
Redis(REmote DIctionary Server)는
오픈소스 인메모리 키-값(Key-Value) 저장소야.
보통 아래 목적에 쓰여:
- 캐시(Cache): 빠르게 데이터를 불러오기 위해
- 세션 저장(Session Store): 로그인 정보 유지 같은 것
- 메시지 브로커(Message Queue): pub/sub, 스트림 처리 등
- 실시간 분석 및 순위 집계: 게임 랭킹, 인기 게시물 등
💡 핵심 특징
특징설명
In-Memory | 디스크가 아니라 메모리(RAM) 에 저장되어 속도가 매우 빠름 |
Persistence | 메모리에 저장하지만, 디스크에 백업(RDB, AOF) 도 가능 |
Data Structure | 단순 key-value 뿐만 아니라, List, Set, Hash, Sorted Set, Stream 등 다양한 자료형 지원 |
싱글 쓰레드 구조 | 내부 로직은 싱글 쓰레드로 동작 → 성능 예측이 쉬움 |
Pub/Sub 기능 | 발행/구독 패턴으로 실시간 메시지 처리 가능 |
레플리케이션 / 클러스터링 | Master-Slave 복제, 클러스터 기능으로 확장 가능 |
🔧 예시 명령어 (CLI 기준)
SET key value # 값 저장
GET key # 값 가져오기
DEL key # 값 삭제
INCR counter # 숫자 증가
LPUSH list a b c # 리스트 앞에 여러 개 추가
LRANGE list 0 -1 # 리스트 전체 조회
SADD set a b c # 집합에 추가
SMEMBERS set # 집합 전체 조회
💻 사용 예: Python 예제
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
r.set('mykey', 'Hello Redis!')
print(r.get('mykey')) # 출력: b'Hello Redis!'
반응형