CLIENT KILL 커맨드는 클라이언트 연결을 종료한다. IP, 포트, ID, 타입으로 클라이언트 연결을 종료할 수 있다.
1번 터미널에서 redis 클라 실행
2번 터미널에서도 redis 클라 실행
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 |