최신 포스트
Redis CLI란 무엇인가?
Redis CLI(Command Line Interface)는 Redis 데이터베이스와 상호작용하기 위한 공식 명령줄 도구입니다. 개발자와 시스템 관리자가 Redis 서버에 연결하여 데이터를 조작하고 서버 상태를 모니터링할 수 있는 강력한 인터페이스를 제공합니다.
Redis CLI의 주요 특징
간단한 문법: 직관적이고 배우기 쉬운 명령어 구조
실시간 상호작용: 즉시 결과를 확인할 수 있는 대화형 환경
배치 처리: 스크립트를 통한 자동화 지원
모니터링 기능: 실시간 성능 및 상태 모니터링
Redis CLI 설치 및 연결
설치 방법
Ubuntu/Debian:
sudo apt update
sudo apt install redis-tools
CentOS/RHEL:
sudo yum install redis
# 또는
sudo dnf install redis
macOS (Homebrew):
brew install redis
Windows:
Redis 공식 사이트에서 Windows용 바이너리 다운로드
또는 WSL(Windows Subsystem for Linux) 사용
기본 연결 방법
# 로컬 Redis 서버 연결 (기본 포트 6379)
redis-cli
# 특정 호스트 및 포트 지정
redis-cli -h localhost -p 6379
# 비밀번호가 설정된 서버 연결
redis-cli -h localhost -p 6379 -a your_password
# 특정 데이터베이스 선택 (기본값: 0)
redis-cli -h localhost -p 6379 -n 1
기본 연결 명령어
연결 테스트 및 정보 확인
# 서버 응답 테스트
PING
# 결과: PONG
# 서버 정보 확인
INFO
# 특정 섹션 정보만 확인
INFO memory
INFO replication
INFO stats
# 현재 연결된 클라이언트 정보
CLIENT LIST
# 서버 설정 확인
CONFIG GET *
CONFIG GET maxmemory
데이터베이스 관리
# 데이터베이스 선택 (0-15, 기본 16개)
SELECT 0
SELECT 1
# 현재 데이터베이스의 모든 키 확인
KEYS *
# 패턴으로 키 검색
KEYS user:*
KEYS *session*
# 데이터베이스 크기 확인
DBSIZE
# 현재 데이터베이스 비우기
FLUSHDB
# 모든 데이터베이스 비우기 (주의!)
FLUSHALL
데이터 타입별 핵심 명령어
String 타입
# 기본 설정 및 조회
SET key "value"
GET key
# 여러 키 동시 설정/조회
MSET key1 "value1" key2 "value2"
MGET key1 key2
# 만료 시간과 함께 설정
SETEX key 3600 "value" # 3600초 후 만료
SET key "value" EX 3600 # 동일한 효과
# 키가 존재하지 않을 때만 설정
SETNX key "value"
# 숫자 증가/감소
INCR counter
DECR counter
INCRBY counter 5
DECRBY counter 3
# 문자열 추가
APPEND key "additional_text"
Hash 타입
# 해시 필드 설정/조회
HSET user:1 name "John" age 30
HGET user:1 name
# 여러 필드 동시 설정/조회
HMSET user:1 name "John" age 30 email "john@example.com"
HMGET user:1 name age
# 모든 필드 조회
HGETALL user:1
# 필드 존재 확인
HEXISTS user:1 name
# 필드 삭제
HDEL user:1 email
# 해시의 모든 키 또는 값 조회
HKEYS user:1
HVALS user:1
# 필드 개수 확인
HLEN user:1
List 타입
# 리스트 앞/뒤에 요소 추가
LPUSH mylist "first"
RPUSH mylist "last"
# 리스트에서 요소 제거 및 반환
LPOP mylist
RPOP mylist
# 리스트 범위 조회
LRANGE mylist 0 -1 # 전체 조회
LRANGE mylist 0 4 # 처음 5개 요소
# 특정 인덱스 요소 조회/설정
LINDEX mylist 0
LSET mylist 0 "new_value"
# 리스트 길이 확인
LLEN mylist
# 요소 삽입
LINSERT mylist BEFORE "existing_value" "new_value"
Set 타입
# 세트에 멤버 추가
SADD myset "member1" "member2"
# 멤버 존재 확인
SISMEMBER myset "member1"
# 모든 멤버 조회
SMEMBERS myset
# 랜덤 멤버 조회
SRANDMEMBER myset
SRANDMEMBER myset 3 # 3개 랜덤 선택
# 멤버 제거
SREM myset "member1"
# 세트 크기 확인
SCARD myset
# 세트 연산
SUNION set1 set2 # 합집합
SINTER set1 set2 # 교집합
SDIFF set1 set2 # 차집합
Sorted Set 타입
# 스코어와 함께 멤버 추가
ZADD leaderboard 100 "player1" 85 "player2" 95 "player3"
# 스코어 범위로 조회 (오름차순)
ZRANGE leaderboard 0 -1
ZRANGE leaderboard 0 -1 WITHSCORES
# 스코어 범위로 조회 (내림차순)
ZREVRANGE leaderboard 0 -1 WITHSCORES
# 특정 스코어 범위 조회
ZRANGEBYSCORE leaderboard 80 100
# 멤버의 스코어 조회
ZSCORE leaderboard "player1"
# 멤버의 순위 조회
ZRANK leaderboard "player1" # 오름차순 순위
ZREVRANK leaderboard "player1" # 내림차순 순위
# 스코어 증가
ZINCRBY leaderboard 10 "player1"
시스템 관리 명령어
키 관리
# 키 존재 확인
EXISTS key
# 키 삭제
DEL key1 key2 key3
# 키 이름 변경
RENAME oldkey newkey
# 키의 데이터 타입 확인
TYPE key
# 키의 만료 시간 설정
EXPIRE key 3600
EXPIREAT key 1609459200 # Unix timestamp
# 만료 시간 조회
TTL key # 초 단위
PTTL key # 밀리초 단위
# 만료 시간 제거 (영구 보존)
PERSIST key
메모리 관리
# 메모리 사용량 분석
MEMORY USAGE key
MEMORY STATS
# 가비지 컬렉션 실행
MEMORY PURGE
# 특정 키의 메모리 사용량 최적화
MEMORY OPTIMIZE key
실무에서 자주 사용하는 고급 명령어
트랜잭션
# 트랜잭션 시작
MULTI
# 명령어들 큐에 추가
SET key1 "value1"
INCR counter
SADD myset "member1"
# 트랜잭션 실행
EXEC
# 트랜잭션 취소
DISCARD
파이프라인 및 배치 처리
# 파일에서 명령어 실행
redis-cli < commands.txt
# 단일 명령어 실행 후 종료
redis-cli SET key "value"
redis-cli GET key
# CSV 형태로 출력
redis-cli --csv LRANGE mylist 0 -1
Pub/Sub (발행/구독)
# 채널 구독
SUBSCRIBE news sports
# 패턴으로 구독
PSUBSCRIBE news:*
# 메시지 발행
PUBLISH news "Breaking news!"
# 구독 해제
UNSUBSCRIBE news
PUNSUBSCRIBE news:*
성능 모니터링 및 디버깅
실시간 모니터링
# 실시간 명령어 모니터링
MONITOR
# 느린 쿼리 로그 확인
SLOWLOG GET
SLOWLOG GET 10 # 최근 10개
# 느린 쿼리 로그 길이 확인
SLOWLOG LEN
# 느린 쿼리 로그 초기화
SLOWLOG RESET
성능 분석
# 서버 통계 정보
INFO stats
INFO commandstats
# 클라이언트 연결 정보
CLIENT LIST
CLIENT INFO
# 대기 중인 클라이언트 확인
CLIENT PAUSE 1000 # 1초간 모든 클라이언트 일시정지
벤치마킹
# 성능 테스트 (redis-benchmark 사용)
redis-benchmark -h localhost -p 6379 -n 10000 -c 50
# 특정 명령어만 테스트
redis-benchmark -h localhost -p 6379 -t set,get -n 10000
보안 관련 명령어
인증 및 권한
# 비밀번호 인증
AUTH your_password
# 현재 사용자 확인 (Redis 6.0+)
AUTH username password
# ACL 사용자 목록 (Redis 6.0+)
ACL LIST
ACL USERS
# 현재 사용자 정보
ACL WHOAMI
보안 설정
# 위험한 명령어 비활성화 확인
CONFIG GET "rename-command"
# 보안 관련 설정 확인
CONFIG GET protected-mode
CONFIG GET bind
CONFIG GET port
실전 예제 및 베스트 프랙티스
캐시 구현 예제
# 사용자 세션 캐시
SETEX session:abc123 1800 '{"user_id": 1, "username": "john"}'
# 페이지 조회수 카운터
INCR page:views:/home
INCR page:views:/about
# 최근 방문자 목록 (리스트로 관리)
LPUSH recent:visitors "user:123"
LTRIM recent:visitors 0 99 # 최근 100명만 유지
리더보드 시스템
# 게임 점수 리더보드
ZADD game:leaderboard 1500 "player1" 1200 "player2" 1800 "player3"
# 상위 10명 조회
ZREVRANGE game:leaderboard 0 9 WITHSCORES
# 특정 플레이어 순위 확인
ZREVRANK game:leaderboard "player1"
# 플레이어 점수 업데이트
ZINCRBY game:leaderboard 100 "player1"
데이터 백업 및 복원
# 데이터 스냅샷 생성
BGSAVE
# 마지막 저장 시간 확인
LASTSAVE
# 즉시 저장 (블로킹)
SAVE
# RDB 파일 덤프
redis-cli --rdb dump.rdb
# 특정 키들만 덤프
redis-cli --scan --pattern "user:*" | xargs redis-cli DEL
성능 최적화 팁
키 네이밍 규칙
# 좋은 예
user:1:profile
session:abc123
cache:product:1
# 피해야 할 예
user1profile
abc123
product1
만료 시간 설정
# 캐시 데이터는 항상 TTL 설정
SETEX cache:user:1 3600 "user_data"
# 세션 데이터
SETEX session:token 1800 "session_data"
메모리 효율적 사용
# 작은 해시는 ziplist 사용
HSET small:hash field1 value1 field2 value2
# 대용량 데이터는 적절히 분할
HSET user:1:basic name "John" age 30
HSET user:1:preferences theme "dark" lang "ko"
문제 해결 가이드
연결 문제:
# 연결 테스트
redis-cli ping
# 포트 확인
netstat -tlnp | grep 6379
# 방화벽 확인
sudo ufw status
성능 문제:
# 느린 쿼리 확인
SLOWLOG GET 10
# 메모리 사용량 확인
INFO memory
# 클라이언트 연결 확인
CLIENT LIST
데이터 문제:
# 키 패턴 분석
KEYS pattern*
# 데이터 타입 확인
TYPE suspicious_key
# 메모리 사용량 분석
MEMORY USAGE key_name
결론
Redis CLI는 Redis 데이터베이스를 효과적으로 관리하고 활용하기 위한 필수 도구입니다. 이 가이드에서 소개한 명령어들을 숙지하고 실무에 적용하면 Redis의 강력한 기능을 최대한 활용할 수 있습니다.
추가 학습 리소스
Redis 공식 문서
Redis 명령어 참조
Redis 모범 사례
Redis CLI 마스터리는 지속적인 실습을 통해 완성됩니다. 개발 환경에서 다양한 시나리오를 실험해보며 경험을 쌓아가시기 바랍니다.
Keywords: redis cli, redis 명령어, redis 사용법, redis cli 명령어, redis 튜토리얼, redis 데이터베이스, redis 설치, redis 연결, redis 모니터링, redis 실무
Meta Description: Redis CLI 명령어 사용법을 단계별로 학습하세요. 연결, 데이터 조작, 모니터링까지 실무에서 꼭 필요한 Redis 명령어 50개와 실전 예제를 제공합니다.

2025년 9월 15일
서버
14

2025년 8월 6일
프로그래밍

2025년 7월 24일
프로그래밍

2025년 5월 30일
정보

2025년 5월 30일
정보

2025년 5월 30일
정보

2024년 8월 22일
정보

2024년 8월 22일
정보
트레이딩

2022년 11월 7일
트레이딩

2022년 10월 30일
트레이딩

2022년 10월 23일
트레이딩
프로그래밍・서버

2025년 9월 15일
서버

2025년 8월 6일
프로그래밍