Redis持久化RDB和AOF区别

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis持久化RDB和AOF区别相关的知识,希望对你有一定的参考价值。

RDB

RDB是Redis内存到硬盘的快照,用于redis持久化,创建RDB二进制文件,将存储在内存中的数据,持久化的放到硬盘中,当我们需要这些数据的时候,启动载入RDB文件,数据将会被存入内存中,其实RDB就是一种快照的方式持久化存储数据,也可以作为一种复制媒介。

触发机制--主要三种方式

  • save 同步命令(会阻塞redis)

  • bgsave 异步命令(fork)

  • 自动

#关闭自动保存配置#save 900 1   #900秒 改了一次就自动生成RDB文件#save 300 10   #300秒修改了10次就自动生成RDB文件
dbfilename dump-$port.rdb   #rdb文件名
dir /bigdiskpath      #分盘,rdb文件保存位置
stop-writes-on-bgsave-error yes  #bdsave出错,停止写入
rdbcompression yes           #采用压缩位置
rdbchecksum yes            #开启校验和

AOF

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

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

AOF三种策略

  • always(每条命令都把缓冲区fsync到硬盘)

  • everysec(每秒刷新一次,每秒吧缓冲区fsync到硬盘)

  • no(跟随操作系统,有操作系统决定,不可控)

AOF重写配置


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

区别


总结

AOF是全量备份,RDB是增量备份。

以上是关于Redis持久化RDB和AOF区别的主要内容,如果未能解决你的问题,请参考以下文章

Redis数据持久化方式RDB和AOF的区别

Redis AOF持久化和RDB持久化区别

redis中持久化策略rdb和aof的区别

Redis中RDB和AOF持久化区别和联系

Redis持久化中RDB和AOF有哪些区别?你知道吗!

redis的持久化方式RDB和AOF的区别