十一、持久化之AOF

1. AOF介绍
• 只追加操作的文件
– Append Only File
– 记录redis服务所有写操作。
– 不断的将新的写操作,追加到文件的末尾。
– 使用cat 命令可以查看文件内容
2.相关配置参数
• 文件名
– appendfilename "appendonly.aof" //文件名
– appendonly yes // 启用aof ,默认no
• AOF文件记录,写操作的三种方式
– appendfsync always // 有新的写操作立即记录,
性能差,完整性好。
– appendfsync everysec //每秒记录一次,宕机时会丢失1秒的数据
– appendfsync no //从不记录
日志重写(日志文件会不断增大),何时会触发日志重写?
– redis会记录上次重写时AOF文件的大小,默认配置是当aof文件是上次rewrite后大小的1倍且文件大于64M时触发。
– auto-aof-rewrite-percentage 100
– auto-aof-rewrite-min-size 64mb
• 修复AOF文件,
– 把文件恢复到最后一次的正确操作
[root@redis53 6379]# redis-check-aof --fix appendonly.aof
0x 83: Expected \r\n, got: 6166
AOF analyzed: size=160, ok_up_to=123, diff=37
This will shrink the AOF from 160 bytes, with 37 bytes, to 123
bytes
Continue? [y/N]: y
Successfully truncated AOF
3. 使用AOF文件恢复数据
• 备份数据
– 备份dump.rdb 文件到其他位置
– ~]# cp 数据库目录/appendonly.aof 备份目录
• 恢复数据
– 把备份的dump.rdb文件拷贝回数据库目录,重启redis服务
– Cp 备份目录/appendonly.aof 数据库目录/
– /etc/redid/redis_端口 start
4. AOF优点/缺点
• RDB优点
– 可以灵活的设置同步持久化appendfsync alwayls 或异步持久化appendfsync verysec
– 宕机时,仅可能丢失1秒的数据
• RDB的缺点
– AOF文件的体积通常会大于RDB文件的体积。执行fsync策略时的速度可能会比RDB 慢。

posted @ 2021-07-07 11:04  落樰兂痕  阅读(37)  评论(0编辑  收藏  举报