Redis数据库持久化之全持久化

全持久化AOF模式

如果数据很重要无法承受任何损失,可以考虑使用AOF方式进行持久化,默认Redis没有开启AOF(append only file)方式的全持久化模式。

在启动时Redis会逐个执行AOF文件中的命令来将硬盘中的数据载入到内存中,载入的速度相较RDB会慢一些,开启AOF持久化后每执行一条会更改Redis中的数据的命令,Redis就会将该命令写入硬盘中的AOF文件。AOF文件的保存位置和RDB文件的位置相同,都是通过dir参数设置的,默认的文件名是appendonly.aof,可以通过appendfilename参数修改该名称。

Redis允许同时开启AOF和RDB,既保证了数据安全又使得进行备份等操作十分容易。此时重新启动Redis后Redis会使用AOF文件来恢复数据,因为AOF方式的持久化可能丢失的数据更少,可以在redis.conf中通过appendonly参数开启Redis AOF全持久化模式:

appendonly yes

appendfilename appendonly.aof

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

appendfsync always

#appendfsync everysec

#appendfsync no

Redis AOF持久化参数配置详解:

appendonly yes                        #开启AOF持久化功能;

appendfilename appendonly.aof          #AOF持久化保存文件名;

appendfsync always                  #每次执行写入都会执行同步,最安全也最慢;

#appendfsync everysec                  #每秒执行一次同步操作;

#appendfsync no                 #不主动进行同步操作,而是完全交由操作系统来做,每30秒一次,最快也最不安全;

auto-aof-rewrite-percentage 100      #当AOF文件大小超过上一次重写时的AOF文件大小的百分之多少时会再次进行重写,如果之前没有重写过,则以启动时的AOF文件大小为依据;

auto-aof-rewrite-min-size 64mb     #允许重写的最小AOF文件大小配置写入AOF文件后,要求系统刷新硬盘缓存的机制。