这篇文章将为大家详细讲解有关Redis持久化RDB和AOF的区别有什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
成都创新互联公司专注骨干网络服务器租用十年,服务更有保障!服务器租用,成都棕树机房 成都服务器租用,成都服务器托管,骨干网络带宽,享受低延迟,高速访问。灵活、实现低成本的共享或公网数据中心高速带宽的专属高性能服务器。RDB是Redis内存到硬盘的快照,用于redis持久化,创建RDB二进制文件,将存储在内存中的数据,持久化的放到硬盘中,当我们需要这些数据的时候,启动载入RDB文件,数据将会被存入内存中,其实RDB就是一种快照的方式持久化存储数据,也可以作为一种复制媒介,这个我们后面在谈。
RDB
触发机制--主要三种方式
Save同步命令
save
文件策略:生成一个临时文件,如果存在老的文件,将会替换旧文件
bgsave 异步命令
主进程通过fork()函数,创建子进程生成DRB文件,在此期间访问redis仍然能正常响应
命令 | save | bgsave |
IO | 同步 | 异步 |
阻塞 | 阻塞 | 阻塞(操作不当fork阻塞) |
优点 | 不额外占用内存 | 不阻塞客户端命令 |
缺点 | 阻塞客户端命令 | 需要fork,额外消耗内存 |
redis自动生成RDB文件(不可控)
save 900 1 #900秒 改了一次就自动生成RDB文件
save 300 10 #300秒修改了10次就自动生成RDB文件
redis save配置推荐
#关闭自动保存配置#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 #开启校验和