redis-cli 명령어 정리

redis-cli 접속

호스트명과 포트번호를 생략하면 localhost의 기본포트(6379)로 접속됩니다.

주요옵션
-n db번호

-a 비밀번호
-s 소켓
-u 서버 url

# localhost:6379접속
redis-cli

# 원격접속
redis-cli -h #{호스트명} -p #{포트번호}

# 정보보기
reids-cli info

# help
redis-cli help

# 모니터링
redis-cli monitor

CRUD 명령어

적재되어 있는 Key값 확인
명령어 : keys *

  • 현재 적재되어 있는 키값을 확인할 수 있음
  • 데이터가 많은 경우 부하가 심하기 때문에 운영 중인 서비스에선 주의가 필요

127.0.0.1:6379> keys *
(empty list or set)

(empty list or set) : 현재 저장되어 있는 키 값이 없는 경우 

set key/value 형태로 저장하기
명령어 : set key value

127.0.0.1:6379>set k_1 v_1
OK

127.0.0.1:6379>keys *
1) "k_1"


mset 여러개의 key / value 형태로 저장하기
명령어 : mset key value ...

127.0.0.1:6379> mset k_2 v_2 k_3 v_3
OK

127.0.0.1:6379> keys *
1) "k_1"
2) "k_2"
3) "k_3"


setex 소멸시간 지정해서 저장하기
명령어 : setex key second value (시간은 초단위로 설정)

127.0.0.1:6379> setex k_4 10 v_4
OK


key에 해당하는 값 조회하기
명령어 : get key

127.0.0.1:6379> get k_5
(nil)
127.0.0.1:6379> get k_4
"v_4"

(nil) : 해당 key가 없는 경우

여러개의 key로 값 조회하기
명령어 : mget key ...

127.0.0.1:6379> mget k_1 k_2
1) "v_1"
2) "v_2"


key값에 해당하는 Data 삭제
명령어 : del key ...

127.0.0.1:6379> del k_3
(integer) 1

127.0.0.1:6379> keys *
1) "k_1"
2) "k_2"
3) "k_4"

(integer) 1 : 삭제성공
(integer) 0 : 해당 key가 없을 경우 출력

만료시간까지 남은시간 반환

  • ttl 남은 시간을 초단위로 반환
    명령어 : ttl key
  • pttl 남은 시간을 밀리 초단위로 반환
    명령어 : pttl key

127.0.0.1:6379> setex k_3 60 v_3
OK

127.0.0.1:6379> ttl k_3
(integer) 54

127.0.0.1:6379> pttl k_3
(integer) 48628

127.0.0.1:6379> ttl k_3
(integer) -2

127.0.0.1:6379> ttl k_1
(integer) -1

(integer) -2 : key 값이 없거나 소멸된 경우
(integer) -1 : 만료시간이 설정되어 있지 않은경우(무기한)

key 검색하기
명령어 : keys pattern  
지정된 pattern으로 key를 검색합니다.

127.0.0.1:6379> keys *k*
1) "k_1"
2) "k_2"
3) "k_4"

 
key 이름 변경하기
명령어 : rename 기존key 변경할key

127.0.0.1:6379> rename k_1 k_1_r
OK

127.0.0.1:6379> keys *
1) "k_1_r"
2) "k_2"
3) "k_4"


모든 데이터(key와 value)를 삭제
명령어 : flushall

127.0.0.1:6379> flushall
OK

127.0.0.1:6379> keys *
(empty list or set)