Redis持久化的方式有两种:

一、SnapShotting 快照持久化:

1、持久化的配置:

此持久化默认开启,一次性把Redis中所有数据保存到硬盘中,如果数据非常多(10-20G)就不适合频繁进行该持久化操作。

在redis.conf中可以找到快照持久化的配置信息,如下:

wKioL1l6eMygo5N0AAAKHQa74fk517.jpg

save 900 1,如果900秒内超过1个key被修改,则发起快照持久化。

save 300 10 ,如果300秒内超过10个key被修改,则发起快照持久化。

save 60 10000 ,如果60秒内超过10000 个key被修改,则发起快照持久化。

以上三个save的意思是:

数据修改的频率高,备份的频率也高。

数据修改的频率低,备份的频率也低。

2、持久化的目录和文件名:

redis-持久化_第1张图片

3、手动发起快照持久化:

  ./redis-cli bgsave 


二、Append Only File 精细持久化(AOF):

1、本质:

把用户执行的每个”写“指令(添加、修改、删除)都备份到文件中,还原数据的时候就是执行具体写指令而已。是比快照持久化更详细、准确的持久化,故称为精细持久化。

注意:开启AOF持久化会清空Redis中的数据,因此AOF持久化要在Redis服务开始使用前开启。

2、开启方式:AOF持久化默认是关闭的。

(1)、在redis.conf中将appendonly no 改为appendonly yes,

(2)、同时配置appendfilename appendonly.aof即可。

redis-持久化_第2张图片

3、aof备份频率:

(1)、appendfsync always:每次修改就备份,影响Redis性能,很少用。

(2)、appendfsync no:看服务器是否空闲,如果空闲才备份,不确定因素多,很少用。

(3)、appendfsync everysec:每秒备份一次,常用。

wKioL1l6ib3DS7MQAAAL2zIMvVk103.jpg

4、aof备份文件的优化压缩处理:bgrewriteaof,见如下截图:优化前 appendonly.aof的大小457,优化后 appendonly.aof的大小为257

redis-持久化_第3张图片