有没有办法删除所有Redis客户端连接?

有没有办法删除所有Redis客户端连接?,redis,Redis,有没有办法用一个命令删除所有Redis客户端连接 我知道可以通过IP:端口删除 CLIENT KILL addr:port 我还发现,自从Redis2.8.12以来,这是可能的。 但是 我找不到有关的任何信息。因此关闭绝对是最简单的方法,尤其是在开发环境中 然而,尽管Redis没有客户机KILL*变体,但您可以编写脚本。在Lua中你甚至可以这样做,但我现在检查了一下,客户列表出现了错误,所以我猜这已经改变了。尽管如此,使用CLI实现这一点还是相当容易的—这似乎起到了关键作用: redis-cl

有没有办法用一个命令删除所有Redis客户端连接

我知道可以通过IP:端口删除

CLIENT KILL addr:port
我还发现,自从Redis2.8.12以来,这是可能的。 但是
我找不到有关的任何信息。

因此
关闭
绝对是最简单的方法,尤其是在开发环境中

然而,尽管Redis没有
客户机KILL*
变体,但您可以编写脚本。在Lua中你甚至可以这样做,但我现在检查了一下,客户列表出现了错误,所以我猜这已经改变了。尽管如此,使用CLI实现这一点还是相当容易的—这似乎起到了关键作用:

redis-cli CLIENT LIST | cut -d ' ' -f 2 | cut -d = -f 2 | awk -e '{ print "CLIENT KILL " $0 }' | redis-cli -x

CLIENT KILL
可以接收可以是三种连接类型之一的
TYPE
参数<代码>正常,
pubsub

通过发送以下三个命令,可以终止所有打开的连接:

CLIENT KILL TYPE normal
CLIENT KILL TYPE slave
CLIENT KILL TYPE pubsub
请注意,如果不使用后两种连接(从属连接和pubsub连接),则可以跳过它们


您还可以为kamikaze connections killer添加一个
SKIPME no

您可以使用以下命令检查连接号码:

netstat-an | grep:6379 | grep已建立| wc-l

然后尝试使用Redis Client命令终止连接:

SHUTDOWN:)说真的,没有。用例是什么?这只是为了开发目的,我们的连接已经到了极限,我想杀死所有人。这只在2.8.11版本中提供:,在此之前只接受
CLIENT kill addr:port
格式。True@guival,但如果您在2019年5月仍然使用Redis 2.8,一次性杀死所有客户端应该是最简单的问题。从文档:“>=5:替换了
从机
类型为
副本
从机
仍然支持向后兼容。”