在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
前言Redis 持久化支持两种方式 RDB 与 AOF,文章记录两者的执行过程与配置。 一、RDBRDB 持久化是把当前进程数据生成快照保存到硬盘的过程,触发 RDB 持久化过程分为手动触发和自动触发。 1. save 命令会堵塞当前 Redis 服务器,直到 RDB 结束为止,对数据量较大或者内存较大的实例,会堵塞较长时间,生产环境不建议使用。如果手动执行 save 命令,Redis 会记录下方日志。
2. bgsave 命令Redis 进程执行 fork 操作创建子进程,RDB 持久化过程由子进程负责,完成后自动结束。阻塞只发生在 fork 阶段,一般时间很短。如果手动执行 bgsave 命令,Redis 会记录下方日志。
3. 内部触发 RDB 场景
4. RDB 参数配置通过设置 dir 可以配置 RDB 保存位置 dbfilename 可以设置文件名。
Redis 默认采用 LZF 算法对生成的RDB文件做压缩处理,压缩后的文件远远小于内存大小,
压缩 RDB 虽然会消耗 CPU 但是可以大幅度减少文件体积,方便存储或通过网络发送给从节点。 5. RDB 缺点RDB 方式数据没办法做到实时持久化/秒级持久化。因为 bgsave 每次运行都要执行 fork 操作创建子进程,属于重量级操作,频繁执行成本过高。 RDB文件使用特定二进制格式保存,Redis 版本演进过程中有多个格式的 RDB 版本,存在老版本 Redis 服务无法兼容新版 RDB 格式的问题。 二、AOFAOF(appendonlyfile)持久化:以独立日志的方式记录每次写命令,重启时再重新执行 AOF 文件中的命令达到恢复数据的目的。AOF 的主要作用是解决了数据持久化的实时性,目前已经是 Redis 持久化的主流方式。 1. 参数配置# 配置开启 AOF config set appendonly yes # 配置文件名,默认 appendonly.aof config set appendfilename xxx.aof # 存储位置配置,与 RDB 一样 config set dir /opt/redis-5.0.12/backup 2. AOF 执行流程
3. 重写机制手动触发:
自动触发,根据下方两个参数设置自动触发机制:
到此这篇关于Redis 持久化 RDB 与 AOF的文章就介绍到这了,更多相关Redis 持久化 RDB 与 AOF内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论