Redis 混合持久化
什么是混合持久化
如何开启混合持久化
- 要开启混合持久化,需要在 redis.conf 文件中设置以下参数:
appendonly yes 开启 AOF 持久化
aof-use-rdb-preamble yes 开启混合持久化
- 开启混合持久化后,可以通过以下命令触发 AOF 重写:
bgrewriteaof 在后台执行 AOF 重写
config set auto-aof-rewrite-percentage <percentage> 设置 AOF 文件增长百分比阈值,当达到该阈值时自动执行 AOF 重写
config set auto-aof-rewrite-min-size <size> 设置 AOF 文件增长最小字节数阈值,当达到该阈值时自动执行 AOF 重写
如何恢复混合持久化的数据
- 恢复混合持久化的数据和恢复 AOF 持久化的数据过程是一样的,只需要把 appendonly.aof 文件放到 redis 的根目录,在 redis 启动时,只要开启了 AOF 持久化,redis 就会自动加载并恢复数据
- 恢复混合持久化的数据的步骤是:
- 首先读取 AOF 文件中的 RDB 部分,将其中的键值对加载到内存中
- 然后读取 AOF 文件中的 AOF 部分,按顺序执行其中的命令,更新内存中的数据
混合持久化的注意事项
- 混合持久化虽然有很多优点,但也有一些需要注意的地方:
- 如果 RDB 部分损坏或丢失,那么整个 AOF 文件都无法恢复数据
- 如果 AOF 部分损坏或丢失,那么只能恢复 RDB 部分的数据,可能会有一些数据丢失
- 如果在执行 AOF 重写时发生故障或中断,那么可能会导致旧的 AOF 文件被覆盖或删除,造成数据丢失
- 因此,在使用混合持久化时,需要定期备份 AOF 文件,以防止数据丢失
总结
- 混合持久化是 redis 4.0 之后引入的一种新的持久化方式,它结合了 RDB 和 AOF 的优点,既可以保证数据的快速恢复,又可以保证数据的完整性和一致性
- 混合持久化的实现方式是在 AOF 重写时,将 RDB 文件以二进制压缩格式写入到 AOF 文件的开头,之后的数据再以 AOF 格式追加到文件的末尾
- 混合持久化的优点是可以减少 AOF 文件的大小,加快数据恢复的速度,避免数据丢失
- 混合持久化的缺点是如果 RDB 部分或 AOF 部分损坏或丢失,那么整个 AOF 文件都无法恢复数据或只能恢复部分数据
- 在使用混合持久化时,需要定期备份 AOF 文件,以防止数据丢失
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2021-07-01 DDD 中的那些模式 — CQRS
2021-07-01 领域驱动设计系列 (六):CQRS
2021-07-01 中台架构与实现:基于ddd和微服务 下载_终于有人把前台、中台、后台都讲明白了..
2021-07-01 中台架构与实现——基于DDD和微服务
2021-07-01 电商之下:服务类商品订单履约系统如何设计
2021-07-01 从0到1设计订单系统的思路
2021-07-01 京东后台:订单履约系统设计(上)