Redis-cli 란?
- 레디스 서버와 상호작용할 수 있는 명령 줄 인터페이스
- 레디스 서버에 명령을 보내고, 데이터를 조회하고, 다양한 관리 작업을 수행
Redis-cli 기본 명령어
Redis-cli 접속 방법 및 서버 정보 확인
## 레디스 CLI 접속
# 기본 접속 명령어
redis-cli
# localhost외에 호스트 지정 접속
redis-cli -h <호스트명> -p <포트번호> -a <비밀번호>
## 서버 정보 모니터링
# 서버 연결 확인 성공시 PONG 출력
ping
# 레디스 서버 정보 조회
info
# 레디스 서버 모니터링
monitor
# 현재 데이터베이스 key의 개수 확인
dbsize
# 레디스 서버 설정 조회
config get *
# 설정 변경
config set <파라미터명> <설정값>
Redis-cli 공통 명령어
## 키 설정
# 특정 key에 value 저장
set <key> <value>
# 특정 key 유효 기간(초 단위) 설정
expire <key> <seconds>
# 특정 key 이름 변경
rename <old_key> <new_key>
## 키 조회
# 특정 key 조회
get <key>
# 특정 key 존재 확인
exists <key>
# 특정 key의 남은 유효 기간(초 단위) 조회
ttl <key>
# 특정 key type 조회
type key
# 전체 데이터베이스에서 패턴에 맞는 모든 key 조회
keys <pattern>
# 전체 데이터베이스에서 패턴에 맞는 모든 key를 분할하여 조회
# cursor - 분할 위치, pattern - 조회 패턴, count - 반환할 키의 개수
scan <cursor> <pattern> <count>
## 키 삭제
# 특정 key 삭제
del <key1> <key2> ...
# 특정 key 백그라운드 삭제
unlink <key1> <key2> ...
## 데이터베이스 초기화
# 현재 선택된 데이터베이스 초기화
# 동기
flushdb
# 비동기
flushdb async
# 전체 데이터베이스 초기화
# 동기
flushall
# 비동기
flushall async
Strings 명령어
## string은 가장 기본적인 데이터 구조로, 단순한 값을 저장하는 데 사용됩니다.
# key에 value 저장
set <key> <value>
# 여러 key에 value 저장
mset <key1> <value1> <key2> <value2> ...
# 특정 key 조회
get <key>
# 특정 여러 key 조회
mget <key1> <value1> <key2> <value2> ...
# key의 정수 값을 1 증가
incr key
# key의 정수 값을 1 감소
decr key
Lists 명령어
## list는 순서가 있는 값들의 집합을 저장합니다.
# list 왼쪽에 value을 추가
lpush <list> <value>
# list 오른쪽에 vakue을 추가
roush <list> <value>
# list 왼쪽에 value 제거 후 출력
lpop <list>
# list 오른쪽에 value 제거 후 출력
rpop <list>
# list 지정된 범위 value들을 출력
lrange <list> <range_start> <range_stop>
# list의 길이 출력
llen <list>
Sets 명령어
## set은 유일한 값들의 집합을 저장하며, 중복을 허용하지 않습니다.
# set에 value 추가
sadd <set> <value>
# set에 value 삭제
srem <set> <value>
# set 모든 value 출력
smembers <set>
# set의 길이 출력
scard <set>
# set에 value의 존재 확인
sismember <set> <value>
Hashes 명령어
## hash는 필드와 값의 쌍으로 이루어진 컬렉션을 저장합니다.
# hash의 field에 value을 저장
hset <hash> <field> <value>
# hash field 조회
hget <hash> <field>
# hash field 삭제
hdel <hash> <field>
# hash 전체 field 조회
hgetall <hash>
# hash field의 개수 출력
hlen <hash>
Sorted Sets 명령어
## sorted set은 점수(score)와 함께 값들을 저장하며, 점수를 기준으로 정렬됩니다.
# zset에 value 저장
zadd <zset> <score> <value>
# zset에 value 삭제
zrem <zset> <value>
# zset에 지정된 범위의 value를 출력(withscores - score도 같이 출력)
zrange <zset> <range_start> <range_stop> withscores
# zset에 value 순위 출력
zrank <zset> <value>
# zset의 크기 출력
zcard <zset>