Redis 在后台写 RDB 文件或重写 AOF 文件期间会存在大量磁盘 I/O,此时,在某些 Linux 系统中,调用 fsync 可能会阻塞。 auto-aof-rewrite-percentage 100 它指定 Redis 重写 AOF 文件的条件,默认为 100,表示与上次 rewrite 的 AOF 文件大小相比,当前 AOF 文件增长量超过上次 AOF 文件大小的 100% 时,就会触发 ...
redis笔记之两种持久化备份方式(RDB & AOF) Redis支持的两种持久化备份方式(RDB & AOF) redis支持两种持久化方式,一种是RDB,一种是AOF。 RDB是根据指定的规则定时将内存中的数据备份到硬盘上,AOF是在每次执行命令后命令本身记录下来,所以RDB的备份文件是一个二进制文件,而AOF的备份文件是一个文本文件。 1. RDB...
Redis支持的两种持久化备份方式(RDB & AOF) redis支持两种持久化方式,一种是RDB,一种是AOF。 RDB是根据指定的规则定时将内存中的数据备份到硬盘上,AOF是在每次执行命令后命令本身记录下来,所以RDB的备份文件是一个二进制文件,而AOF的备份文件是一个文本文件。 1. RDB方式 RDB的备份是通过快照来完成的,当符合设定...
AOF持久化开启且存在AOF文件时,优先加载AOF文件。 AOF关闭或者AOF文件不存在时,加载RDB文件。 加载AOF/RDB文件城后,Redis启动成功。 若只打算用Redis 做缓存,可以关闭持久化。 若打算使用Redis 的持久化。建议RDB和AOF都开启。其实RDB更适合做数据的备份,防止RDB文件不可用的情况。 四、RDB和AOF的优缺点 1)RDB ...
如果需要进行大规模的数据恢复,且对于数据的完整性要求不那么敏感和严格,选择 RDB 的持久化方式比 AOF 的持久化方式更优,更加高效。 RDB 虽然性能高,但是在 最后一次持久化后的数据可能会被丢失,redis 默认就是使用的RDB 持久化方式,一般情况下也不需要修改 ...
接下来就重点讲解 RDB 持久化方案与 AOF 持久化方案之间的异同。 RDB 持久化 RDB(Redis Database)通过快照的形式将数据保存到磁盘中。所谓快照,可以理解为在某一时间点将数据集拍照并保存下来。Redis 通过这种方式可以在指定的时间间隔或者执行特定命令时将当前系统中的数据保存备份,以二进制的形式写入磁盘中,默认文...
RDB 与 AOF 配合恢复: 恢复数据时,先使用 RDB 文件恢复基础数据,然后再通过AOF 文件恢复间隔期间丢失的数据。这种方法可以最大限度地减少数据丢失,同时利用 RDB 快速加载的优点和 AOF 的细粒度日志记录。 备份策略: 定期备份 RDB 和 AOF 文件,最好将它们保存在不同的存储介质上,以保证数据的安全性。
两种备份方案的选择:对于RDB持久化,一方面是bgsave在进行fork操作时Redis主进程会阻塞,另一方面,子进程向硬盘写数据也会带来IO压力,但数据的完整性和一致性受备份条件影响可能较差;而AOF持久化由于持续的写入IO压力更大,但数据的一致性和完整性较好。
在实际应用中,可以根据具体场景的需求来选择RDB或AOF持久化方案,也可以结合两者的优势,采用RDB和AOF相结合的持久化方案。比如在生产环境中,可以使用AOF保存完整的数据记录,而使用RDB来进行周期性的快照备份,以便在需要时能够更快速地进行数据恢复。 四、总结 ...