Redis 기본 사용법
English (N/A)
Redis는 인메모리 데이터 스토어로, 주로 캐시나 세션 저장소로 많이 사용된다. 설치와 기본 사용법을 정리해본다.
설치
macOS
brew install redis
Docker
Docker로 실행하는 게 가장 간편하다.
docker pull redis
docker run --name localredis -d --restart always -p 6379:6379 redis
--restart always 옵션을 주면 Docker가 재시작될 때 Redis도 자동으로 다시 뜬다.
Amazon Linux 2
sudo amazon-linux-extras install epel
sudo yum update
sudo yum install redis
redis-cli --version
# 연결 테스트용
sudo yum -y install telnet
CLI 기본 명령어
접속
# 로컬 접속 (기본 포트 6379)
redis-cli
# 호스트와 포트 지정
redis-cli -h localhost -p 6379
# AWS ElastiCache 클러스터 모드 접속
redis-cli -c -h your-redis-cluster.cache.amazonaws.com -p 6379
-c 옵션은 클러스터 모드로 접속할 때 사용한다. 클러스터 모드에서는 키가 여러 노드에 분산되어 있어서, 이 옵션 없이 접속하면 MOVED 에러가 발생할 수 있다.
기본 GET/SET
# 값 저장
set myname namhoon
# 값 조회
get myname
캐시 관리
# 모든 캐시 삭제 (주의: 전체 데이터가 날아감)
flushall
# 현재 DB의 캐시만 삭제
flushdb
# 키 목록 조회 (프로덕션에서 사용 주의)
keys *
# 특정 패턴의 키 조회
keys user:*
keys * 명령은 모든 키를 스캔하기 때문에 프로덕션 환경에서는 사용하지 않는 게 좋다. 대신 scan 명령을 사용하면 된다.
모니터링
# 실시간 명령어 모니터링
MONITOR
MONITOR 는 Redis로 들어오는 모든 명령어를 실시간으로 보여준다. 디버깅할 때 유용하지만, 트래픽이 많은 환경에서는 성능에 영향을 줄 수 있으니 주의해야 한다.
TTL 설정
# 키에 만료 시간 설정 (초 단위)
set session:123 "user_data" EX 3600
# 기존 키에 만료 시간 추가
expire session:123 3600
# 남은 TTL 확인
ttl session:123
유용한 명령어들
# 키 존재 여부 확인
exists mykey
# 키 삭제
del mykey
# 키 타입 확인
type mykey
# 서버 정보 확인
info
# 현재 연결된 클라이언트 수 확인
info clients