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