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文件并还原数据库状态时打印的日志: