redis的持久化RDB和AOF



RDB  Redis DataBase  在时间间隔内将内存中的数据集快照写入磁盘



RBD保存的是dump.rbd文件


如果想要禁用RDB持久化的策略,只要不设置任何save指令 或则给save传入一个空字符串参数也可以

Stop-write-on-bgsave-error 如果配置成no,表示你不在乎数据不一致或则有其他的手段发现和控制

rdbcompression 对于存储到磁盘中的快照,可以设置是否进行压缩存储,如果是的话,redis会采用LZF算法进行压缩,

                               如果你不想消耗CPU来进行压缩 可以设置为关闭此功能。

rdbchecksum 在存储快照后,还可以让redis使用CRC64算法来进行数据校验,但是这样做会增加大约10%的性能消耗,如果希望获取到最大的性能提升,可以关闭此功能。


如何触发RDB快照

1.配置文件中默认的快照配置  冷拷贝后重新启用  可以cp dump.rdb dump_new.rdb

2.命令save或则bgsave

     save 市只管保存,其他不管,全部阻塞。

     bgsave redis会在后台异步进行快照操作,快照同时还可以响应客户端请求。可以通过lastsave命令获取最后一次成功执行快照的时间。

执行命令flushall命令 ,也会产生dump.db文件 但是里面是空的,无意义。


如何恢复

 将备份文件(dump.rdb)移动到redis安装目录并启用服务即可 

 config  get dir 获取目录

优势 适合大量数据的备份 劣势 在一定间隔时间做一次备份,所以如果redis意外down掉的话 就会丢失最后一次快照的所有修改 fork的时候内存中的数据被克隆了一份 大致2倍的膨胀性需要考虑

动态停止所有rbd保存规则的方法 redis-cli config set save  "'  






AOF   Append Only File(记录所有的写的操作)


配置文件 启用AOF

appendonly   yes

appendfilename "appendonly.aof"


RDB和AOF同时存在的时候 默认启用AOF

修复AOF文件 redis-check-aof  --fix appendonly.aof


持久化策略


重写

AOF采用文件追加的方式 文件会越来越大 为了避免出现这种情况 新增了重写机制 当AOF文件的大小超过所设定的阈值时 redis就会启动AOF文件的内容压缩

只保留可以恢复数据的最小指令集 可以使用命令bgrewriteaof


触发机制     Redis会记录上次重写时的AOF的大小 默认配置是当AOF文件大小rewrite后大小的一倍且文件大于64M时触发



重写配置







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值