redis的RDB和aof的区别以及优缺点

24 篇文章 0 订阅
2 篇文章 0 订阅

redis持久化
redis是基于内存超过,如果进程退出或者宕机了那么redis中的数据将会丢失无法恢复。

RDB:把当前数据生成快照保存在硬盘上
某个时间点全部数据的快照,所以速度比较快,无法做到实时持久化,版本不兼容
保存一次rdb文件至少花费5分钟左右时间,如果在此时宕机,就会丢失好几分钟数据
如果数据庞大fork会非常耗时,会导致服务器在某某毫秒内停止处理客户端

AOF:记录每次对数据的操作到硬盘上
每次写的命令追加到日志中,数据精确度高,速度慢
aof默认策略是everysec每秒同步一次,宕机最多丢失一秒的数据
关闭fsync策略可以让aof和rdb速度一样快

AOF策略:
always全部同步
no不同步
everysec每秒同步一次,兼顾性和数据安全,是默认的同步策略建议使用
AOF重写:把数据的最终状态记录下来
AOF重写缓冲区:从创建子进程的那一刻起,把后面写入的命令也copy一份到重写缓冲区
等到子进程重写AOF文件结束后,再把这个缓冲区中的命令写入到新的AOF中去,最后替换

实际选择
如果接受数分钟的数据丢失可以选择rdb,如果非常关心数据就选择aof,实际同时使用两种

数据恢复
当 Redis 启动时, 如果 RDB 持久化和 AOF 持久化都被打开了,
那么程序会优先使用 AOF 文件来恢复数据集,
因为 AOF 文件所保存的数据通常是最完整的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值