Redis持久化之RDB和AOF

RDB: 在指定时间,将内存数据写入磁盘,替换之前的文件,以二进制的形式存储。

1.RDB实现原理
1.创建一个子进程写入数据,原理利用linux的fork(copy on write - 指针操作)
2. 写入的数据是指定时间的数据
save:阻塞
bgsave:异步的
在这里插入图片描述
优缺点:
(1)优点: 恢复速度快
(2)弊端: 永远只有一个dump.rdb文件; 丢失数据相对多一些


AOF: 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。Redis 还可以同时使用 AOF 持久化和 RDB 持久化;如果开启了AOF,就会使用AOF恢复数据

优点:丢失数据少

缺点
体量大
(1)4.0以前,通过重写->删除抵消名,合并重复命令,最终也是一个存指令文件
(2)4.0以后,通过重写 ->将老的数据RDB到AOF中,将增量以命令的形式记录到AOF中(利用了RDB的快,利用了日志的全量)

AOF写入的三种策略(影响IO)
redis日志写入,需要先在linux的内核的buffer中写入,然后再写入磁盘
(1)always:每次写入都flush到磁盘
(2) 每秒 : 每一秒,从buffer中flush到磁盘
(3)no : 等buffer写满了,才写入磁盘,最多丢失一个buffer的数据

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值