Redis快照持久化

Redis的持久化功能:

redis为了内部数据的安全考虑,会把本身的数据以文件的形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)里边。

数据保存到硬盘的过程就被称为”持久化“效果。

持久化有2种方式:

1,snap shotting 快照持久化(默认方式)

该持久化默认开启,一次性把redis中全部的数据保存一份存储在硬盘中,如果数据量非常大(10-20G)就不适合频繁该持久化操作。

2,Append-only file(缩写aof)的方式

本质:把用户执行的每个  ”写“ 指令(增加、修改、删除)都备份到文件中,还原数据的时候就是执行具体写指令。

 

保存到了哪里?本地硬盘

在redis的运行目录下,默认的名字是dump.rdb,在redis.conf中可以修改这个备份文件的名字

 多久持久化一次?

  快照持久化的备份频率:在redis.conf下可以看到

 

这三个配置的含义是:数据修改的频率非常高,备份的频率也高,数据修改的频率低,备份的频率也低。如果你设置每60  1 (每分钟内有一个key改变)就备份一次,这样数据是最安全的,但是数据量大的话是很耗费服务器资源的,而且备份一次可能耗费很长时间。这就需要权衡数据安全性和效率之间的重要程度。

 假设一个系统,假设数据量中等,每隔一个小时做一次快照持久化,10点-11点活跃用户比较多,被修改的key也比较多,有100万个key被修改,突然10:55断电了,数据只能恢复到到10点。可以做精细的持久化,就是aof。

原文地址:https://www.cnblogs.com/lihaoyang/p/6054531.html