文章目录
- RDB持久化
- AOF持久化
- RDB与AOF的混合持久化
Redis 6的持久化机制主要有两种:RDB(Redis DataBase)和AOF(Append Only File)。本文将详细介绍这两种持久化方式的工作原理和配置要点。
RDB持久化
RDB持久化是将当前进程的数据生成快照保存到磁盘的过程。它可以通过手动触发或自动触发两种方式来执行。
手动触发RDB持久化可以使用save命令或bgsave命令。save命令会阻塞Redis服务器直到RDB过程完成,而bgsave命令则会创建一个子进程来执行持久化操作,主进程可以继续处理其他请求。
自动触发RDB持久化可以在配置文件中设置save指令,指定在一定时间间隔内有一定数量的修改操作时自动触发bgsave命令。
RDB持久化的优点包括快速恢复数据、压缩存储和加载速度快。缺点是实时性较差,无法做到秒级持久化,并且执行bgsave命令会进行fork子进程,频繁执行开销较大。
RDB持久化的配置项包括:
dbfilename:RDB文件在磁盘上的名称。dir:RDB文件的存储路径。stop-writes-on-bgsave-error:如果持久化过程出错,主进程是否停止写入操作。rdbcompression:是否对RDB文件进行压缩。rdbchecksum:在RDB文件末尾添加冗余校验编码。
AOF持久化
AOF持久化是将Redis服务器收到的每个写操作追加到AOF文件的过程。通过回放AOF文件中的写操作,可以还原出之前的数据状态。
AOF持久化有三种策略可供选择:
appendfsync always:每个写操作都立即同步到磁盘,最安全但性能最低。appendfsync everysec:每秒同步一次,平衡了安全和性能。appendfsync no:完全依赖操作系统进行同步,性能最好但风险最高。
AOF持久化的优点包括实时性好、可读性强和故障恢复快速。缺点是AOF文件通常比RDB文件大,加载速度较慢。
AOF持久化的配置项包括:
appendfilename:AOF文件在磁盘上的名称。appendonly:是否开启AOF持久化。appendfsync:AOF同步策略。
RDB与AOF的混合持久化
Redis 6引入了RDB与AOF的混合持久化方式,可以同时使用RDB和AOF两种持久化方式。这种方式下,Redis首先加载RDB文件恢复数据,然后通过回放AOF文件将最新的写操作应用到数据中。
混合持久化的优点是可以充分利用RDB的快速加载和AOF的实时性,同时克服了AOF文件较大的问题。
以上是Redis 6的持久化机制的详细介绍,根据实际需求,可以选择合适的持久化方式来保障数据的持久性和可恢复性。












![[学习笔记] [机器学习] 12. [上] HMM 隐马尔可夫算法(马尔科夫链、HMM 三类问题、前后后向算法、维特比算法、鲍姆-韦尔奇算法、API 及实例)](https://img-blog.csdnimg.cn/5a94d607cc2d429a9a3dcdee3ce7f9c5.png#pic_center)





