有没有办法用一个命令删除所有Redis客户端连接?
我知道可以通过IP删除:PORT
CLIENT KILL addr:port
Run Code Online (Sandbox Code Playgroud)
我也发现自Redis 2.8.12以来可以做到这一点.但我找不到任何关于.
Ofi*_*zon 33
CLIENT KILL可以接收TYPE可以是三种连接类型之一的参数; normal,slave和pubsub.
您可以通过发送以下三个命令来终止所有打开的连接:
CLIENT KILL TYPE normal
CLIENT KILL TYPE slave
CLIENT KILL TYPE pubsub
Run Code Online (Sandbox Code Playgroud)
请注意,如果不使用它们,则可以跳过后两个(slave和pubsub连接).
您还可以添加SKIPME no一个神风敢死队连接杀手.
所以SHUTDOWN绝对是最简单的方法,尤其是在开发人员中。
但是,尽管Redis没有CLIENT KILL *变体,但是您可以编写脚本。事发后,您甚至可以在Lua中进行此操作,但是我现在检查了一下并发现了CLIENT LIST错误,所以我猜测情况已经改变。尽管如此,使用CLI还是很容易的-这似乎可以解决问题:
redis-cli CLIENT LIST | cut -d ' ' -f 2 | cut -d = -f 2 | awk -e '{ print "CLIENT KILL " $0 }' | redis-cli -x
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12044 次 |
| 最近记录: |