redis持久化之aof
aof文件记录所有执行过的增删改命令,加载aof文件,将这些命令重新执行一次,即可还原数据。默认关闭aof方式。redis优先从aof文件恢复数据。
配置
appendonly no #是否开启aof
appendfilename "appendonly.aof" #aof文件名
# appendfsync always #每次执行命令,更新一次aof
appendfsync everysec #推荐使用,每秒更新一次aof
# appendfsync no #将持久化时机交个系统控制
no-appendfsync-on-rewrite no #执行压缩时,是否先执行一次更新
auto-aof-rewrite-percentage 100 #当aof增大了百分之几时进行自动更新
auto-aof-rewrite-min-size 64mb #当aof不超过多大时进行自动更新
验证
aof文件记录了增删改命令
aof重写和压缩
重写,去除冗余的增删改命令。
bgrewriteaof
命令更新aof文件
优点
- 使用默认配置,最多丢失1秒中的数据。
- 文件可读性强,可以进行灵活操作。
缺点
- 比rdb文件大,可能存在莫名的bug。
- 每秒更新,效率较低。
持久化建议
- 如果redis只用来做缓存,则不需要持久化。
- 一般将rdb和aof都开启
- 不知道