상세 컨텐츠

본문 제목

redis-cli 사용법 기초부터 실전까지: KEYS vs SCAN, 데이터 삭제까지

Developer/Backend

by 웰크 2025. 6. 7. 08:37

본문

728x90

Redis CLI 사용법 정리: 입문자를 위한 redis-cli 명령어 가이드

Redis는 메모리 기반의 키-값 저장소로, 빠른 속도와 다양한 자료구조 지원 덕분에 백엔드 시스템에서 널리 사용됩니다. 이 글에서는 Redis의 기본 CLI 도구인 redis-cli의 설치부터 주요 명령어 사용법까지 단계별로 안내합니다.




1. redis-cli란?

redis-cli는 Redis 서버와 직접 통신할 수 있는 커맨드라인 도구입니다. Redis의 데이터를 읽고 쓰고 관리하는 모든 명령을 터미널에서 실행할 수 있게 해줍니다.


2. redis-cli 설치

보통 Redis를 설치하면 redis-cli도 함께 설치됩니다. 플랫폼별 설치 방법은 아래와 같습니다:


💻 macOS (Homebrew)

brew install redis

💻 Ubuntu / Debian

sudo apt update
sudo apt install redis

✅ 설치 확인

redis-cli --version

3. redis-cli 접속

redis-cli

기본적으로 로컬 Redis 서버 (localhost:6379)에 접속합니다. 다른 호스트에 접속하려면 다음과 같이 합니다:

redis-cli -h 127.0.0.1 -p 6379



4. 자주 사용하는 기본 명령어

🔹 문자열(String) 명령어

SET name "redis"   # 'name'이라는 키에 'redis'라는 값을 저장합니다.
GET name           # 'name' 키에 저장된 값을 조회합니다.
DEL name           # 'name' 키를 삭제합니다.
EXISTS name        # 'name' 키가 존재하는지 확인합니다. (1이면 존재, 0이면 없음)

🔹 키(Key) 관련

KEYS *               # 현재 저장된 모든 키를 조회합니다.
KEYS a*              # 'a'로 시작하는 모든 키를 조회합니다.
KEYS *user*          # 키 이름에 'user'가 포함된 모든 키를 조회합니다.
KEYS data:2023:*     # 'data:2023:'로 시작하는 키들을 조회합니다.
TTL name             # 'name' 키의 남은 TTL(Time To Live, 초 단위)을 확인합니다.
TYPE name            # 'name' 키의 데이터 타입을 확인합니다. (string, list 등)

주의: KEYS 명령은 많은 키가 있는 운영 환경에서 성능 저하를 일으킬 수 있으므로, SCAN 명령으로 대체하는 것이 좋습니다.


🔍 SCAN 명령어 예시

SCAN 0                          # 모든 키를 점진적으로 탐색합니다 (출력된 커서로 다음 호출)
SCAN 0 MATCH a*                # 'a'로 시작하는 키를 점진적으로 탐색합니다
SCAN 0 MATCH user:* COUNT 100  # 'user:'로 시작하는 키를 100개 단위로 탐색합니다

# 반복 호출 예시

SCAN 0 MATCH user:\* COUNT 100
SCAN 23 MATCH user:\* COUNT 100
SCAN 56 MATCH user:\* COUNT 100

SCAN 명령은 서버에 부담을 주지 않고 안전하게 키를 조회할 수 있으며, 커서를 반환하여 반복적으로 호출해야 합니다. 대용량 데이터 처리에 적합합니다.


🔹 데이터 삭제

DEL name               # 'name' 키를 삭제합니다.
DEL key1 key2 key3     # 여러 개의 키를 한 번에 삭제합니다.
UNLINK key1 key2       # DEL과 유사하지만, 비동기적으로 삭제하여 성능 영향을 줄입니다.
FLUSHALL               # 현재 Redis에 저장된 모든 데이터를 삭제합니다.
FLUSHDB                # 현재 선택된 DB의 모든 데이터를 삭제합니다.

주의: FLUSHALLFLUSHDB는 복구 불가능한 명령이므로 주의해서 사용해야 합니다. 반드시 테스트 환경 또는 초기화 목적일 때만 사용하세요.




5. 자료구조별 명령어

📌 List

LPUSH fruits "apple"     # 'fruits' 리스트의 왼쪽에 'apple'을 추가합니다.
RPUSH fruits "banana"    # 'fruits' 리스트의 오른쪽에 'banana'를 추가합니다.
LRANGE fruits 0 -1       # 'fruits' 리스트의 전체 요소를 조회합니다.

📌 Set

SADD colors "red"         # 'colors' 집합(Set)에 'red'를 추가합니다.
SADD colors "blue"        # 'colors' 집합(Set)에 'blue'를 추가합니다.
SMEMBERS colors           # 'colors' 집합에 포함된 모든 값을 조회합니다.

📌 Hash

HSET user:1000 name "Alice"    # 'user:1000' 해시(Hash)에 name 필드를 추가하고 "Alice" 값을 설정합니다.
HGET user:1000 name            # 'user:1000' 해시에서 name 필드의 값을 조회합니다.
HGETALL user:1000              # 'user:1000' 해시에 저장된 모든 필드와 값을 조회합니다.



6. 기타 유용한 명령어

PING                  # 서버가 살아있는지 확인. 응답으로 PONG 반환
INFO                  # Redis 서버의 통계 및 상태 정보를 출력합니다.
MONITOR               # 실시간으로 Redis에서 실행되는 모든 명령어를 출력합니다. 디버깅에 유용합니다.
AUTH yourpassword     # Redis 인증 비밀번호를 입력하여 인증합니다.



7. 마무리

이 글에서는 redis-cli를 사용하여 Redis의 기본적인 기능들을 실습해보았습니다. 다음 단계로는 Redis를 Java 애플리케이션과 연동하거나, 캐싱 전략에 대한 글을 읽어보는 것을 추천드립니다.


질문이 있다면 댓글로 남겨주세요! 😊




728x90
반응형

관련글 더보기