redis(八):redis持久化AOF和RDB

1.两种持久化方式

在这里插入图片描述

2. RDB

RDB是使用二进制文件生成文件的快照,保存到磁盘中。

三种触发RDB的方式:
save(同步):等生成快照成功在执行其他命令。会造成阻塞redis
bgsave(异步):执行完成以后返回"ok",然后开启一个单独线程生成快照。如果开启子进程的时间阻塞会较慢,一般fork子进程都很快。
自动:达到某个条件以后自动生成RDB文件。下面是一个rdb的配置,第一行表示900秒内改变了一条数据,第二三行不做过多解释。只要配置好了三条约束,满足其中一条会触发save。(自动生成的RDB规则不好控制,容易在频繁读写时造成save而阻塞)
在这里插入图片描述
RDB的缺点:
(1)备份耗时
(2)fork消耗内存
(3)磁盘性能消耗
(4)t1时间save,t2宕机了,t1-t2时间段内的数据会丢失

3.AOF

根据日志生成AOF文件。

三种AOF策略:
always:每次执行命令,都会将该命令从缓存区刷新到AOF文件中
everysec:每秒刷新一次日志。(适当保护磁盘)
no:操作系统决定什么时候刷新数据。(程序员较难控制数据的刷新)

AOF重写:
例如写入了三个:set hello 1 , set hello 2 , set hello 3。只有最后一个会生效,也就是只有set hello 3会被刷新到AOF文件中。

AOF重写命令:bgrewriteaof

AOF的重写配置:
(1)同时达到AOF重写需要的尺寸和增长率才会重写
(2)统计就是为了记录当前文件的增长尺寸大小
在这里插入图片描述

AOF的缺点:
(1)恢复数据较慢

4.RDB和AOF对比

同时开启RDB和AOF会优先开启AOF
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值