Redis持久化之AOF

你的名字 2022-12-18 00:53 218阅读 0赞

目录

一、简介:

二、开启AOF

三、AOF的配置参数

四、AOF文件的修复

五、优缺点


一、简介:

AOF(Append Only File)是redis的另一种持久化机制,这种持久化机制与RDB一样,也是redis的主进程fork一个子进程后,对操作进行记录,其原理用一句话概括就是:它以日志的形式,记录我们对redis数据库进行写操作的命令,然后在进行恢复的时候,再将这些命令按照顺秀一次执行,重新构建redis的数据结构。

二、开启AOF

和RDB一样,AOF的开启也是在redis.conf配置文件中配置即可,默认AOF是关闭的。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3l5ajEwODMxNw_size_16_color_FFFFFF_t_70

这个时候要是想开启AOF进行持久化,则直接进行如下配置就行

  1. appendonly yes

三、AOF的配置参数

  1. appendfsync everysec

AOF的同步机制的频率也是可以手动配置的,默认是每1秒同步一次,也就是说,即使断电了,也最多丢失1秒的数据

  1. appendfsync no:写入aof文件,不等待磁盘同步。

如上参数设置:如果应用系统无法忍受延迟,而可以容忍少量的数据丢失,则设置为yes。如果应用系统无法忍受数据丢失,则设置为no。所以,设置为no的话,是数据安全的,这也是redis的默认设置。

auto-aof-rewrite-percentage

aof文件增长比例,指当前aof文件比上次重写的增长比例大小。aof重写即在aof文件在一定大小之后,重新将整个内存写到aof文件当中,以反映最新的状态(相当于bgsave)。这样就避免了,aof文件过大而实际内存数据小的问题(频繁修改数据问题).

auto-aof-rewrite-min-size

aof文件重写最小的文件大小,即最开始aof文件必须要达到这个文件时才触发,后面的每次重写就不会根据这个变量了(根据上一次重写完成之后的大小).此变量仅初始化启动redis有效.如果是redis恢复时,则lastSize等于初始aof文件大小.

aof-load-truncated

指redis在恢复时,会忽略最后一条可能存在问题的指令。默认值yes。即在aof写入时,可能存在指令写错的问题(突然断电,写了一半),这种情况下,yes会log并继续,而no会直接恢复失败.

四、AOF文件的修复

因为生成的appendonly.aof文件就是个命令日志文件,那么当这个文件中出现错误或者不可执行时,那么久没法用它开修复,而redis提供了修复AOF文件的工具 redis-check-aof.exe

这个时候只要执行如下命令:

  1. redis-check-aof.exe --fix appendonly.aof

五、优缺点

优点:

每一次修改都同步,文件的完整性更加好;

每秒同步一次,可能会丢失1秒的数据;

从不同步,效率更高;

缺点:

相对于数据文件来说,aof文件远远大于rdb,修复的速度也比rdb慢

AOF的运行效率要比RDB慢,因此redis默认采用RDB.


这里再看看一下网上的性能建议:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3l5ajEwODMxNw_size_16_color_FFFFFF_t_70 1

发表评论

表情:
评论列表 (有 0 条评论,218人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Redis持久机制AOF

    因为RDB的持久化机制是定期全量备份,有可能导致最后一次的需要备份的数据还没来得及备份就丢失了,但其实也无所谓,毕竟是缓存如果追求数据的完整和安全性,就需要考虑AOF的机制了。

    相关 Redis持久AOF

    Redis持久化之AOF Redis的持久化方式之一RDB是通过保存数据库中的键值对来记录数据库的状态。而另一种持久化方式 AOF 则是通过保存Redis服务器所执行的写

    相关 Redis持久AOF

    > RDB从整体上来说,已经很棒了,备份速度快,备份文件小,cpu性能也充足的用上了。但是最后的那一次备份是可能会丢失的。对于程序员来说,越是厉害的程序员强迫症越是强,不容有那

    相关 redis——持久RDB、AOF

    一  概述 目前持久化的方式有两种:快照;写日志 快照是把数据备份;写日志则是把操作过程记录下来,当我们需要恢复数据时,我们就把当时的操作重新执行一遍 AOF就