redis持久化过程中可以对外服务吗

参考这篇1
参考这篇2
持久化有两种方式:rdb和aof。
rdb就是生成某个时间点快照,有异步bgsave和同步save,同步的话肯定不能对外服务了,异步是通过fork子进程完成的,需要注意的是,在异步的时候,数据可能发生变化,redis并不是直接复制一份进行复制,redis运用写时复制cow思想,即一开始redis和子进程都指向同一个数据,当某个key改变时redis主进程指向新的,子进程不变。

AOF就是追加每次写命令到文件中。持久化有3中方式,一种是no由操作系统决定何时刷到磁盘,一种是always,每次写完命令就调用fsync()刷到磁盘,一种是everysec,每秒刷一次到磁盘。 no操作系统决定的是异步,always每条命令都要马上写到磁盘,同步的,ererysec每秒一次异步的,额外注意的是AOF有个重写机制,即重新整理命令去掉一些已经无效的命令,比如写完又删了就没必要保留这命令了, 重写是异步的通过fork子进程完成。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值