✨【Redis学习笔记】持久化篇
type
status
date
slug
summary
tags
category
icon
password
Blocked by
Blocking
AI summary
RDB (Redis Database)
将某个时间点的所有数据
生成快照
,保存到硬盘的二进制文件
中(默认文件名:dump.rdb)实现原理

RDB文件生成时,会fork创建一个子进程,子进程和夫进程共享同一片物理内存
当主线程需要修改数据,通过写时复制(Copy-On-Write)机制,将被修改的内容复制一份,主线程在副本上修改,子进程可以继续使用原有的数据生成RDB文件
bgsave的参数设置
可以通过配置save的参数,来实现RDB多久触发一次
AOF (Append Only File)
实现原理
记录每一个写操作命令到文件中(默认文件名:appendonly.aof)

参数设置
其中有三种appendfsync的配置参数可以选
Always
,这个单词的意思是「总是」,所以它的意思是每次写操作命令执行完后,同步将 AOF 日志数据写回硬盘
Everysec
,这个单词的意思是「每秒」,所以它的意思是每次写操作命令执行完后,先将命令写入到AOF 文件的内核缓冲区,然后每隔一秒将缓冲区里的内容写回到硬盘
No
,意味着不由Redis控制写回硬盘的时机,转交给操作系统控制写回的时机,也就是每次写操作命令执行完后,先将命令写入到 AOF 文件的内核缓冲区,再由操作系统决定何时将缓冲区内容写回硬盘。

使用混合方式实现 数据的持久化
RDB的加载速度很快,AOF的实时性很高,这样可以最大程度避免数据的丢失
配置开启混合持久化
配置AOF的持久化策略
配置多久执行一次RDB快照
Prev
【Redis学习笔记】高可用篇
Next
【Redis学习笔记】数据类型篇
Loading...