[etc] 자주 사용하는 redis cli command 정리

SCAN 0 COUNT 100 MATCH *

# 100개 제한 읽어오기. Keys * 보다 효율적임..

 

DEBUG OBJECT 키

# 해당 정보의 사이즈 lru , expire 정보등을 읽어옴

 

SETEX 키 시간 키밸류

# expire time을 걸어 아이템을 set 한다.

# setex hong 60 sungho 라고 입력하면, 60초간 hong이라는 키가 저장된다.

 

 

SLOWLOG GET

# get 으로 시작하는 카운트 중 시간이 오개걸리는 값을 반환한다..

# 일반적으로 겟 명령어에서 슬로우 로그가 발생하는 경우 해당 키값의 데이터가 용량이 가장 큰 (메모리를 많이 잡아먹는) 키 값이다..

# 레디스 운영 시 OOM redis Out Of Memory 같은 경우, 해당 키 또는 리스트의 값이 너무 큰 (보통 팝 과정 없이  잘못 쌓이는 push LIST에서 발생한다. )

# GET , RESET, LEN  등을 확인 할 수 있다.

 

Lpush, Lpop, Rpush , Rpop

# push 는 데이터를 입력하며, Left, Right로 데이터를 입력한다.

# pop 은 데이터를 읽는 개념이 아닌, 가져간다는 표현으로 pop을 통해 꺼내어진 데이터는 해당 데이터테이블에서 삭제된다.

# Lrange 명령을 통해서 대상이 지정된 범위의 리스트를 읽어온다. 0 은 시작점을 의미하고, -1 은 리스트의 끝 (오른쪽 마지막) 을 의미하므로, 모든 리스트에 저장된 데이터를 확인 할 때 사용한다.

# 모든 리스트에서 데이터를 꺼내어 쓰면, 데이터가 없다는 의미의 nil 을 표시한다.

# 예시 )

Rpush hong A B C

 

LRANGE hong 0 -1

“A”

“B”

“C”

 

Rpop hong

“C”

 

Rpop hong

“B”

 

Rpop hong

“A”

 

Rpop hong

(nil)

 

 

Redis-cli -h HOSTNAME –stat

# 레디스의 key count, memory Usage, clinet, blocked, requests, connections 정보를 알려줌..

 

Redis-cli -h HOSTNAME -c ‘keys hong*” | xargs redis-cli -h HOSTNAME DEL

# hong으로 시작하는 모든 키를 검색하여, 한번에 지우는 방법..

글쓴이