天天看点

redis-持久化

Redis持久化的方式有两种:

一、SnapShotting 快照持久化:

1、持久化的配置:

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

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

<a href="https://s1.51cto.com/wyfs02/M01/9D/1E/wKioL1l6eMygo5N0AAAKHQa74fk517.jpg" target="_blank"></a>

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

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

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

以上三个save的意思是:

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

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

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

<a href="https://s1.51cto.com/wyfs02/M02/9D/1F/wKiom1l6euWT8beYAABboQ4-LyU792.jpg" target="_blank"></a>

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即可。

<a href="https://s5.51cto.com/wyfs02/M02/9D/1F/wKioL1l6h1TjMHerAAAcr0iWcP8608.jpg" target="_blank"></a>

3、aof备份频率:

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

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

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

<a href="https://s1.51cto.com/wyfs02/M00/9D/1F/wKioL1l6ib3DS7MQAAAL2zIMvVk103.jpg" target="_blank"></a>

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

<a href="https://s5.51cto.com/wyfs02/M00/9D/21/wKioL1l6nOWB7h-JAAD9U6fje6Y443.jpg" target="_blank"></a>

本文转自lzf0530377451CTO博客,原文链接:http://blog.51cto.com/8757576/1951624 ,如需转载请自行联系原作者

继续阅读