我在计算机上安装了redis,并打开了1个redis服务器和2个redis-cli。如果我在第一个redis-cli终端中键入“ shutdown save”命令,它将关闭服务器和第一个redis-cli。然后,第二个redis-cli将不再能够与redis-server通信,因为它已经被另一个redis-cli关闭。 对我来说这没什么意义。 IMO,服务器是一项独立服务,应始终运行。客户端应该能够与服务器建立连接/断开连接,但决不能禁用服务器。为什么Redis允许客户端禁用可以由许多其他客户端共享的服务器?考虑一下redis服务器是否在远程计算机上,redis客户端在其他计算机上,这不是很危险吗,因为如果其中一个客户端关闭了远程服务器,那么所有其他客户端都会受到影响?
答案 0 :(得分:0)
如果您不希望客户端执行SHUTDOWN
命令(或与此相关的任何其他命令),则可以使用rename-command
配置指令。
从即将发布的Redis v6开始,ACL有望对管理员和应用程序命令提供更好的控制。
答案 1 :(得分:0)
不,我认为您错了。允许/禁止对远程服务器执行某些特定的操作是应用程序的责任。您可以简单地禁止某些命令,以使单个cli无法关闭redis服务器。