Redis SHUTDOWN 命令

返回上一级

Redis SHUTDOWN 命令用于关闭 Redis 服务

( Redis >= 1.0.0 )

Redis SHUTDOWN 命令执行以下操作:

  • 停止所有客户端
  • 如果有至少一个保存点在等待,执行 SAVE 命令
  • 如果 AOF 选项被打开,更新 AOF 文件
  • 关闭 redis 服务器(server)

如果持久化被打开的话, SHUTDOWN 命令会保证服务器正常关闭而不丢失任何数据。

假如只是单纯地执行 SAVE 命令,然后再执行 QUIT 命令,则没有这一保证 —— 因为在执行 SAVE 之后、执行 QUIT 之前的这段时间中间,其他客户端可能正在和服务器进行通讯,这时如果执行 QUIT 就会造成数据丢失。

SAVE 和 NOSAVE 修饰符

通过使用可选的修饰符,可以修改 SHUTDOWN 命令的表现。比如说:

  • 执行 SHUTDOWN SAVE 会强制让数据库执行保存操作,即使没有设定(configure)保存点
  • 执行 SHUTDOWN NOSAVE 会阻止数据库执行保存操作,即使已经设定有一个或多个保存点(

可以将这一用法看作是强制停止服务器的一个假想的 ABORT 命令)

语法

Redis SHUTDOWN 命令语法如下:

127.0.0.1:6379> SHUTDOWN [NOSAVE] [SAVE]

返回值

  • 执行失败时返回错误。
  • 执行成功时不返回任何信息,服务器和客户端的连接断开,客户端自动退出。

范例

因为不想关闭 6379 这台 Redis 服务器。所以新开一个

新开一个命令行(shell)(redis-server-6666)输入以下命令开启一个监听 6666 的 Redis 从服务器

redis-server --port 6666

新开一个命令行(shell)(redis-cli-6666) 输入以下命令链接到 Redis 从服务器(redis-server-6666)

redis-cli -p 6666

然后就可以演示 SHUTDOWN 命令了

redis-cli-6666> PING
PONG
redis-cli-6666> SHUTDOWN
not connected>
not connected>

$ redis-cli -p 6666
Could not connect to Redis at 127.0.0.1:6666: Connection refused
not connected>

这时 redis-server-6666 这台 Redis 就会输出

92380:M 22 Aug 18:52:51.092 # User requested shutdown...
92380:M 22 Aug 18:52:51.092 # Redis is now ready to exit, bye bye...

返回上一级

Redis 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.