설치
Bash
# Ubuntu
apt install redis-server
# 접속 테스트
redis-cli ping # PONG/etc/redis/redis.conf에서 requirepass yourpassword 설정을 권장합니다.
기본 명령어
Bash
redis-cli
# String
SET user:1:name "Alice"
GET user:1:name
INCR counter
INCRBY counter 10
# TTL (만료)
SET session:abc "token" EX 3600 # 3600초 후 자동 삭제
TTL session:abc # 남은 시간 (초)
PERSIST session:abc # TTL 제거
# 키 조회 (운영 환경에서는 SCAN 사용)
SCAN 0 MATCH user:* COUNT 100Hash — 객체 저장
Bash
HSET user:1 name "Alice" email "[email protected]" age 30
HGET user:1 name
HGETALL user:1
HDEL user:1 age
HEXISTS user:1 email # 1 (있음) / 0 (없음)List — 큐/스택
Bash
# FIFO 큐
RPUSH tasks "job1" "job2" "job3"
LPOP tasks # "job1" (왼쪽에서 꺼냄)
LLEN tasks # 남은 길이
# 블로킹 팝 (워커 대기)
BLPOP tasks 30 # 최대 30초 대기Set · Sorted Set
Bash
# Set (중복 없음)
SADD tags "redis" "nosql" "cache"
SMEMBERS tags
SISMEMBER tags "redis" # 1
# Sorted Set (점수로 정렬)
ZADD leaderboard 1500 "alice"
ZADD leaderboard 2300 "bob"
ZRANGE leaderboard 0 -1 WITHSCORES # 오름차순
ZREVRANGE leaderboard 0 2 # Top 3
ZINCRBY leaderboard 100 "alice" # 점수 증가Cache-aside 패턴
Python
import redis, json
r = redis.Redis(host='localhost', port=6379)
def get_user(user_id):
cache_key = f"user:{user_id}"
cached = r.get(cache_key)
if cached:
return json.loads(cached)
user = db.query(f"SELECT * FROM users WHERE id = {user_id}")
r.setex(cache_key, 3600, json.dumps(user))
return user모니터링
Bash
# 서버 정보
redis-cli info memory
redis-cli info stats
# 메모리 사용량 상위 키
redis-cli --bigkeys
# 느린 명령 로그
redis-cli slowlog get 10편집 안내 · Editorial Note
이 가이드는 AI 도구를 활용해 초안을 구성하고 사람이 명령어·문맥을 검토해 발행했습니다. 운영체제와 도구 버전에 따라 결과가 달라질 수 있으므로 적용 전 공식 문서를 함께 확인하세요. 오류를 발견하시면 이메일로 제보해 주세요.
관련 공식 문서Redis 공식 문서 ↗
질문 & 답변 (Q&A)
이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.