redis 持久化

作用

持久化功能可以有效地避免因进程推出造成的数据丢失问题,当下次重启时利用之前持久化的文件既可实现数据恢复

持久化的方式

  • RDB持久化
  • AOF持久化

RDB持久化

持久化方式

   RDB持久化是把当前进程数据生成快照保存到磁盘的过程

触发机制

  • 客户端执行save命令
  • 使用save配置,例如save m n在m秒内数据集存在n次修改
  • 从节点执行全量复制操作,主节点自动执行bgsave生成RDB文件并发送给从节点
  • 执行debug reload命令重新加载redis时,也会自动触发save操作
  • 执行shutdown命令时,如果没有开启AOF持久化功能则自动执行bgsave

流程

注意点

  • RDB方式数据没办法做到实时持久化/秒级持久化,因为bgsave每次运行都要执行fork操作创建子进程,属于重量级操作,频繁执行成本过高
  • RDB文件使用特定二进制格式保存,会存在老版本无法兼容新版本RDB格式的问题

AOF持久化

持久化方式

 以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的

触发机制

需要在配置文件中设置 appendonly yes

流程

注意点

  • 子进程执行期间使用copy-on-write机制与父进程共享内存,避免内存消耗翻倍
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值