Hello,小伙伴们大家好,之前给大家讲过redis是什么,有什么用,那么大家知道怎么关闭redis吗?redis如果用完之后不关闭的话,就会一直占用电脑资源,使得电脑运行卡顿。小编今天就给大家讲一讲如何关闭redis。
SHUTDOWN[NOSAVE|SAVE] 命令
这个是redis的常用关闭命令,该命令会做以下操作:
停止所有的客户端,断开所有链接如果配置了保存点(save point),则会执行一个阻塞的 SAVE 命令如果配置了AOF的话,会刷新AOF文件退出当前服务
如果开启了持久化,这命令会确保Redis被关闭的时,不会丢失任何数据。如果客户端只简单实用SAVE,和QUIT命令来退出,那么这可能丢失数据。因为可能有其他客户端在2个命令之间修改了数据。
注意: 如果Redis实例没有配置持久化(没配置AOF,也没"SAVE"命令),则在SHUTDOWN的时候,就不会生成RDB文件到磁盘上。
SAVE 和NOSAVE 选项
可以通过指定参数选项来修改这个命令的行为:
SHUTDOWN SAVE 强制执行一个DB的保存操作,就算没有配置保存点(save points)SHUTDOWN NOSAVE 不执行一个DB的保存操作,就算配置了一个或多个保存点(你可以把这个看成是 ABORT 命令,它只是停止服务)
SHUTDOWN 失败,谨慎强制杀死Redis
如果激活了AOF,这SHUTDOWN命令可能会执行失败,因为这系统当前可能无法安全的将数据立刻保存到磁盘。
一般情况下, 如果有一个AOF子进程正在执行一个AOF重写操作,Redis将简单的杀死这子进程然后退出。不过有2种情况,这样操作不安全,这 SHUTDOWN命令会拒绝执行,并返回一个 错误。这2种情况是:
用户刚刚开启 AOF,并且触发了第一次AOF重写,以初始化 AOF 文件。在这种情况下,关闭服务将导致数据完全丢失:一旦重启,这个服务可能会在没有任何AOF文件的情况下,使用AOF来加载数据启动。有一个从服务(slave)激活了AOF,重连到主服务(master),执行一个完全重新同步的操作,重启AOF文件,触发了初始化AOF的操作。 在这种情况下,如果没有完成AOF重写操作是很危险的,因为从master收到的数据集可能会丢失。在下次启动时,这新的master可能是另一个新的实例 (使用 REPLICAOF或SLAVEOF 命令重新配置了复制),所以完成AOF重写是非常重要,这样才可以拿上次关闭时内存中的数据,来启动服务。
当我们有条件的想要尽快的终止一个Redis实例的时。这正确的命令组合应该是,先发送一个 CONFIG appendonly no命令,然后再发送SHUTDOWN NOSAVE命令。这第一个命令将关闭正在运行的AOF,终止AOF重写子进程。第二个命令的执行将不会有任何问题,因为这时候已经没有AOF操作了。
返回值
成功时,没有任何返回。这时候服务已经关闭,且链接已经断开。
失败时,返回一个错。

redis后台服务器开启命令:./redis-server redis.conf (在redis-server redis.conf安装目录下运行)
redis后台服务器的关闭命令:./redis-cli shutdown (同上)
以上就是今天关于redis如何关闭服务的内容,更多相关内容请多多关注本网站吧。