Redis服务的启停过程[针对单机]

本文详细解析了Redis服务的启动与关闭流程,包括RDB与AOF持久化下的停服过程,阐述了不同关闭方式对数据持久化的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis服务的启动过程

Server initialized                 # Redis服务进行初始化(启动);
DB loaded from disk: 0.000 seconds # 从磁盘中加载数据到数据库中;
Server initialized                 # Redis服务启动完成
Ready to accept connections        # 准备接受客户端连接

Redis服务的关闭过程

基本RDB持久化情况下的停服过程

## 基于RDB持久化情况下停止服务时的日志
User requested shutdown...                    # 用户请求关闭;
Saving the final RDB snapshot before exiting. # 保存最终的RDB快照
DB saved on disk                              # 保存到磁盘(体现就是一个dump.rdb文件);
Removing the pid file.                        # 移除pid文件;
Removing the unix socket file.                # 移除socket文件;
Redis is now ready to exit, bye bye...        # 准备退出,拜拜
 
## 那么问题来了
01:开启了RDB持久化,添加数据(set key01 "chenliang"),但没还没达到为RDB自动
    持久化的条件(save 900 1),此时正常关闭redis服务会怎样?
    ## 解答
    01:键key01对应的数据会被持久化,因为停服时会自动保持一次;
    02:在redis恢复后,数据也是存在的;
 
02:开启了RDB持久化,添加数据(set key02 "lili"),但还没达到RDB自动持久化的条
    件(save 900 1),此时非正常关闭(kill或kill -9杀掉了线程)redis服务的数据
    会怎样?
    ## 解答
    01:使用"kill+进程号"的方式关闭redis服务,是可以保存数据的(可以看日志),那么
        再次启动redis服务时,数据都还是存在的;
    02:使用"kill -9 + 进程号"的方式关闭redis服务,无法保存数据(可以看日志),那么
        再次启动redis服务时,丢失数据(离上次持久时这个阶段的数据会丢);

基本AOF持久化情况下的停服过程

User requested shutdown...                    # 用户请求关闭;
Saving the final RDB snapshot before exiting. # 保存最终的RDB快照
DB saved on disk                              # 保存到磁盘(体现就是一个dump.rdb文件);
Removing the pid file.                        # 移除pid文件;
Removing the unix socket file.                # 移除socket文件;
Redis is now ready to exit, bye bye...        # 准备退出,拜拜
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值