RDB和AOF持久化方式各有优劣,选择需根据场景权衡。RDB以快照形式实现,恢复速度快、适合冷备,但可能丢失数据;AOF记录每次写操作,数据安全性高,但恢复慢、文件大。RDB通过BGSAVE非阻塞生成快照,配置save规则触发自动持久化;AOF通过appendfsync控制刷盘策略,推荐everysec以平衡性能与安全。AOF可重写压缩文件体积。两者可同时开启,优先用AOF恢复以保障数据完整。最佳实践:高安全性要求用AOF或双开,定期重写与备份;高恢复速度需求用RDB。最终选择应基于数据安全与性能的权衡。

Redis 持久化主要有两种方式:RDB (Redis Database) 和 AOF (Append Only File)。RDB 是快照形式,AOF 则是记录每次写操作的日志。
RDB 还是 AOF,怎么选?其实没有绝对的答案,得看你的具体场景。
RDB 的优势在于恢复速度快,适合做冷备,但缺点是数据可能会有丢失。AOF 的优势在于数据安全性更高,但缺点是恢复速度慢,文件体积也更大。
RDB 就像给你的数据拍了个照片,然后存起来。下次要恢复的时候,直接把照片拿出来就行了。
RDB 的工作原理
Redis 可以通过 SAVE 或 BGSAVE 命令来触发 RDB 持久化。SAVE 命令会阻塞 Redis 主进程,不推荐在生产环境中使用。BGSAVE 命令则会 fork 一个子进程来执行持久化操作,不会阻塞主进程。
fork 子进程后,子进程会遍历 Redis 的内存数据,然后将数据写入到 RDB 文件中。
RDB 的配置
RDB 相关的配置主要在 redis.conf 文件中。
save <seconds> <changes>: 定义自动触发 RDB 持久化的条件。例如,save 900 1 表示 900 秒内如果至少有 1 个 key 被修改,则触发 RDB 持久化。可以配置多个 save 指令,满足任意一个条件都会触发。stop-writes-on-bgsave-error yes|no: 当 BGSAVE 出错时,是否停止写入操作。建议设置为 yes,防止数据不一致。rdbcompression yes|no: 是否对 RDB 文件进行压缩。压缩可以减小文件体积,但会增加 CPU 消耗。dbfilename dump.rdb: RDB 文件的名称。dir ./: RDB 文件存放的目录。RDB 的优缺点
AOF 就像一个日记本,记录了 Redis 每次执行的写操作。下次要恢复的时候,把日记本里的内容重新执行一遍就行了。
AOF 的工作原理
Redis 会将每次执行的写操作以追加的方式写入到 AOF 文件中。
AOF 的配置
AOF 相关的配置主要在 redis.conf 文件中。
appendonly yes|no: 是否开启 AOF 持久化。appendfilename appendonly.aof: AOF 文件的名称。appendfsync always|everysec|no: AOF 文件的刷盘策略。always: 每次写操作都立即刷盘,数据安全性最高,但性能最差。everysec: 每秒刷盘一次,数据安全性较高,性能也较好,是推荐的策略。no: 由操作系统决定何时刷盘,数据安全性最低,性能最好。auto-aof-rewrite-percentage 100: AOF 文件自动重写的比例。当 AOF 文件的大小达到上一次重写后的大小的百分之多少时,触发 AOF 重写。auto-aof-rewrite-min-size 64mb: AOF 文件自动重写的最小体积。当 AOF 文件的大小达到这个值时,才会触发 AOF 重写。AOF 的重写
随着时间的推移,AOF 文件会越来越大,其中包含了很多冗余的操作。为了减小 AOF 文件的体积,Redis 提供了 AOF 重写的功能。
AOF 重写会创建一个新的 AOF 文件,只包含恢复当前 Redis 数据状态所需的最小操作集合。
AOF 重写可以通过 BGREWRITEAOF 命令手动触发,也可以通过配置自动触发。
AOF 的优缺点
可以同时开启 RDB 和 AOF 持久化。在这种情况下,Redis 会优先使用 AOF 进行恢复。
为什么优先使用 AOF 恢复?
因为 AOF 记录了更完整的数据,可以保证数据安全性。
RDB 和 AOF 的最佳实践
everysec 刷盘策略,兼顾数据安全性和性能。选择哪种持久化策略,取决于你的应用场景。
everysec 刷盘策略。save 指令,控制 RDB 文件的生成频率。记住,没有银弹。选择最适合你的方案才是最好的。
以上就是redis 持久化有几种方式?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号