Redis CLIENT KILL命令教程
因为 Redis 使用单线程设计,所以当 Redis 正在执行命令的时候,不会有客户端被断开连接。如果要被断开连接的客户端正在执行命令,那么当这个命令执行之后,在发送下一个命令的时候,它就会收到一个网络错误,告知它自身的连接已被关闭。
Redis CLIENT KILL命令详解
语法
192.168.98.70:6379> CLIENT KILL ip:port
参数
参数
描述
ip
要关闭的客户端的地址。
port
要关闭的连接的端口。
返回值
当指定的客户端存在,且被成功关闭时,返回 OK 。
时间复杂度
O(N) , N 为已连接的客户端数量。
可用版本
>= 2.4.0
案例
CLIENT KILL关闭客户端连接
使用 CLIENT KILL 命令关闭客户端连接
127.0.0.1:6379> CLIENT LIST
id=406 addr=127.0.0.1:38551 fd=19 name= age=14 idle=14 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=command
id=404 addr=127.0.0.1:47729 fd=17 name= age=24171 idle=20805 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=evalsha
id=405 addr=127.0.0.1:46934 fd=18 name= age=10178 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=32742 obl=0 oll=0 omem=0 events=r cmd=client
127.0.0.1:6379> CLIENT KILL 127.0.0.1:46934
OK
127.0.0.1:6379> CLIENT LIST
id=404 addr=127.0.0.1:47729 fd=17 name= age=24249 idle=20883 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=evalsha
id=406 addr=127.0.0.1:38551 fd=19 name= age=92 idle=92 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=command
id=407 addr=127.0.0.1:38729 fd=18 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=32742 obl=0 oll=0 omem=0 events=r cmd=client
127.0.0.1:6379> CLIENT KILL 127.0.0.1:46934
(error) ERR No such client
127.0.0.1:6379>
我们首先使用 CLIENT LIST 列出了当前所有的连接的客户端,接着,我们使用 CLIENT KILL 命令关闭了指定客户端的连接。
使用 CLIENT KILL 命令关闭了连接后,再次使用 CLIENT LIST 列出了当前所有的连接的客户端,我们发现,该连接已经不在列表中了,最后,我们再次使用 CLIENT KILL 命令关闭不存在客户端的连接,报错。
Redis CLIENT KILL命令总结
Redis 的 CLIENT KILL 命令用于关闭指定 IP 和 端口的客户端的连接,其中 IP 和端口应该和 CLIENT LIST 命令输出的其中一行匹配。