Redis的RDB文件快照

一、 对哪些数据做快照

做的是全量快照(增量快照指的是第一次做全量快照,之后增量文件只记录每个时刻对数据的修改,会导致增量文件过大)

二、 快照时会阻塞主线程吗

利用写时复制技术(fork一个子进程进行快照,期间对于主线程中的数据的修改操作会先拷贝出该数据,然后再拷贝的数据上修改,保证快照截取的是一个时间点的数据),保证不影响主进程中的数据读写。

fork操作会拷贝一份和主进程一模一样的子进程,但是它们拥有的内存空间独立,内存中的数据是一样的,两个进程可以各自独立地操作它们内存中的数据。

利用写时复制技术子进程不影响主进程运行,但是fork进程时,主进程无法提供服务,并且子进程将数据写入磁盘需要时间,Redis为了避免多个fork子进程阻塞,只有等上一个fork的子进程完成了RDB操作后才能再次fork子进程进行RDB备份(同一时间只执行一个快照)。

三、 多久执行一次RDB快照

一般结合AOF和RDB使用,AOF作为两次RDB之间的增量文件,记录两次RDB期间发生的操作指令,第二次全量备份时在上一次全量备份的基础上执行AOF日志即可(会在AOF文件的开头写入上次快照完的位置),完成后将AOF文件清空,就不会导致AOF日志的增量信息过大。

参考文章:

https://time.geekbang.org/column/article/272852

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值