CLIENT KILL 커맨드는 클라이언트 연결을 종료한다. IP, 포트, ID, 타입으로 클라이언트 연결을 종료할 수 있다.


1번 터미널에서 redis 클라 실행

2번 터미널에서도 redis 클라 실행


1번 터미널에서 CLIENT LIST 커맨드를 실행한다.

127.0.0.1:6379> CLIENT LIST

id=3 addr=127.0.0.1:65265 fd=6 name=LOVE-1 age=989 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client

id=5 addr=127.0.0.1:49515 fd=7 name= age=74 idle=7 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=dbsize

127.0.0.1:6379>

127.0.0.1:6379>


여기서 2번 터미널을 킬한다.

127.0.0.1:6379> CLIENT KILL ADDR 127.0.0.1:49515

(integer) 1

127.0.0.1:6379> CLIENT LIST

id=3 addr=127.0.0.1:65265 fd=6 name=LOVE-1 age=1010 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client

127.0.0.1:6379>


분명 연결은 끊어졌지만, 2번 터미널에서는 엔터치면서 보면 특별히 disconnected라고 뜨지 않는다. (사실은 끊어진 상태이다.)

2번 터미널에서 레디스 커맨드를 실행하면, 그제서야 서버와 연결이 된다.


127.0.0.1:6379>

127.0.0.1:6379>

127.0.0.1:6379> DBSIZE

(integer) 0



1번 터미널에서 클라이언트 목록을 확인할 수 있다. 

127.0.0.1:6379> CLIENT LIST

id=3 addr=127.0.0.1:65265 fd=6 name=LOVE-1 age=1027 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client

id=6 addr=127.0.0.1:49579 fd=7 name= age=1 idle=1 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=dbsize



CLIENT KILL은 ID를 이용해서 사용할 수 있다.


127.0.0.1:6379> CLIENT KILL ID 6

(integer) 1

127.0.0.1:6379> CLIENT LIST

id=3 addr=127.0.0.1:65265 fd=6 name=LOVE-1 age=1364 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client


type도 줄 수 있다. 영향 받는 클라이언트가 없으면 0을 리턴한다.

127.0.0.1:6379> CLIENT KILL TYPE slave

(integer) 0



'Redis' 카테고리의 다른 글

[redis] EXPIRE와 EXPIREAT 커맨드  (0) 2016.01.14
[redis] RANDOMKEY 커맨드  (0) 2016.01.14
[Redis] FLUSHALL 커맨드  (0) 2016.01.14
[Redis] CLIENT LIST 커맨드 / CLIENT SETNAME 커맨드  (0) 2016.01.14
[Redis] DBSIZE 커맨드  (0) 2016.01.14
Posted by '김용환'
,