七叶笔记 » 数据库 » Redis持久化RDB和AOF区别详解

Redis持久化RDB和AOF区别详解

不容忽视的触发机制

有时候我们没有执行save bgsave命令,也没有开启自动保存命令,还是会生成RDB,可能是因为以下原因:

全量复制 debug reload shutdown

AOF

RDB存在的问题:耗时耗性能,阻塞丢失数据

AOF运行原理:每执行一条命令,就在AOF中增加一条记录。当需要恢复时,直接执行AOF写入redis

AOF三种策略

always(每条命令都把缓冲区fsync到硬盘) everysec(每秒刷新一次,每秒吧缓冲区fsync到硬盘) no(跟随操作系统,有操作系统决定,不可控)

命令 always everysec no 优点 不丢失数据 每秒一次 不用管 缺点 IO开销大 丢失一秒数据 不可控

AOF重写

将过期的,重复的,做一些优化合并

作用:减少磁盘空间占用,加快文件恢复速度

AOF重写两种方式:

bgrewriteaof

aof重写配置

AOF重写配置

auto-aof-rewrite-min-size #AOF重写需要的最小尺寸 auto-aof-rewrite-percentage #AOF文件增长率 aof_current_size #统计当前aof文件大小 aof_base_size #aof上次启动和重写的尺寸

AOF配置

RDB和AOF的比较

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持七叶笔记。

相关文章