Redis(设计与实现):---AOF持久化之AOF文件的写入与还原(aof_buf缓冲区、flushAppendOnlyFile函数、appendfsync选项)

本文深入介绍了Redis的AOF(Append Only File)持久化机制,包括AOF文件的写入与同步过程,涉及aof_buf缓冲区、flushAppendOnlyFile函数和appendfsync选项。在AOF文件的载入与数据还原部分,解释了如何通过重新执行AOF文件中的写命令来还原数据库状态。
摘要由CSDN通过智能技术生成

AOF持久化介绍

除了RDB持久化功能之外,Redis还提供了AOF(Append Only
File)持久化功能。与RDB持久化通过保存数据库中的键值对来记录数据库状态不同,AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的,如下图所示:
在这里插入图片描述

AOF文件介绍

  • 开启AOF持久化功能之后,Redis会将你本次在数据库中所操作的写记录追加到一个文件中(系统会自动在第一行添加一个SELECT命令用来指定数据库)
  • 被写入AOF文件的所有命令都是以Redis的命令请求协议格式保存的,因为Redis的命令请求协议是纯文本格式,所以我们可以直接打开一个AOF文件,观察里面的内容

在这里插入图片描述
RDB持久化保存数据库状态的方法是将msg、fruits、numbers三个键的键值对保存到RDB文件中,而AOF持久化保存数据库状态的方法则是将服务器执行的SET、SADD、
RPUSH三个命令保存到AOF文件中,AOF文件的内容如下
(其中第一个SELECT是数据库自动添加的):
在这里插入图片描述

  • 服务器在启动时,可以通过载入和执行AOF文件中保存的命令来还原服务器关闭之前的数据库状态, 以下就是服务器载入AOF文件并还原数据库状态时打印的日志:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值