Redis SHUTDOWN 命令执行以下操作,首先,停止所有的客户端;其次,如果配置了 save 策略,则执行一个阻塞的 save 命令;如果开启了 AOF,则刷新 aof 文件;最后,关闭 redis 服务进程(redis-server)。
命令格式
SHUTDOWN [NOSAVE|SAVE]
可用版本:>=1.0.0
如果配置了持久化策略,那么这个命令将能够保证在关闭 redis 服务进程的时候数据不会丢失。如果仅仅在客户端执行 SAVE 命令,然后执行 QUIT 命令,那么数据的完整性将不会被保证,因为其他客户端可能在执行这两个命令的期间修改数据库的数据。
注意:一个没有配置持久化策略的 redis 实例(没有 aof 配置,没有 save 命令)将不会在执行 SHUTDOWN 命令的时候转存一个 rdb 文件,通常情况下你不想让一个仅用于缓存的 rendis 实例宕掉。
命令参数
通过指定一个可选的修饰符 NOSAVE 和 SAVE 可以改变这个命令的表现形式,如下:
SHUTDOWN SAVE
:能够在即使没有配置持久化的情况下强制数据库存储。SHUTDOWN NOSAVE
:能够在配置一个或者多个持久化策略的情况下,阻止数据库存储(可以假想它为一个中断服务的 ABORT 命令)。
命令返回值
当成功的时候不返回任何值,服务退出,连接关闭。
当发生错误的时候返回错误状态码。