文章目录
bgsave
命令,Redis父进程判断当前是否存在正在执行的子进程,如RDB/AOF
子进程,如果存在bgsave命令直接返回。
fork
操作创建子进程,fork操作过程中父进程会阻塞,通过info stats
命令查看latest_fork_usec
选项,可以获取最近一个fork操作的耗时,单位为微秒。
“Background saving started”
信息并不再阻塞父进程,可以继续响应其他命令lastsave
命令可以获取最后一次生成RDB的时间,对应info统计的rdb_last_save_time
选项。info Persistence
下的rdb_*
相关选项。save m n
”。表示m
秒内数据集存在n
次修改
时,自动触发bgsave
。
redis.conf
中配置save 900 1:表示900 秒内如果至少有 1 个 key 的值变化,则保存
save 300 10:表示300 秒内如果至少有 10 个 key 的值变化,则保存
save 60 10000:表示60 秒内如果至少有 10000 个 key 的值变化,则保存
dbfilename
决定。redis.conf
中修改appendonly yes
,默认不开启。AOF文件名通过appendfilename
配置设置,默认文件名是appendonly.aof
。保存路径同RDB持久化方式一致,通过dir配置指定。AOF的工作流程操作:命令写入(append)
、文件同步(sync
)、文件重写(rewrite
)、重启加载(load
)aof_buf
(缓冲区)中。同步策略
)redis.conf
文件中appendonly yes # 开启
appendfilename appendonly.aof
redis.conf
配置文件中配置即可appendfsync
控制,可以在配置文件中配置,三种策略如下:
appendfsync always
appendfsync everysec
appendfsync no
bgrewriteaof
命令。auto-aof-rewrite-min-size
和auto-aof-rewrite-percentage
参
数确定自动触发时机。
auto-aof-rewrite-min-size
:表示运行AOF重写时文件最小体积,默认为64MB。auto-aof-rewrite-percentage
:代表当前AOF文件空间(aof_current_size
)和上一次重写后AOF文件间(aof_base_size
)的比值。info stats
统计中查latest_fork_usec
指标获取最近一次fork操作耗时,单位微秒
。