redis持久化

发布时间 2023-05-28 14:43:55作者: 一只快乐的柠檬精J

一、Redis持久化,两种方案

RDB ---> 存的是数据,恢复数据直接加载数据到内存中 ,速度快,丢失数据风险大

redis database backup file (redis数据备份文件),即在关闭redis时,执行save命令,把所有数据都记录到磁盘中,保存。

  • 执行时机 :
    -- 1.手动执行
    -- 2.正常关机 用save命令
    -- 3.自动触发(规定时间超过多少次触发),见下图1.1 ,用bgsave命令

RDB中bgsave的基本流程 -----> (save可能会有阻塞,不做解释)

  1. 创建子进程共享内存空间
  2. 子进程读取数据写入新的RDB文件
  3. 覆盖旧的RDB文件


AOF ---> 存的是指令,恢复数据重新加载指令 , 回复慢,丢失数据风险小

append only file (追加文件)

  • 含义: redis每次的写操作的写命令都会记录在AOF文件中

  • 何时写入AOF,写入频率?

  • AOF重复记录对同一个key的写操作问题
    -- 使用bgrewriteaof命令,记录同一个key的最后一次写操作
    -- 自动触发,见下图

点击查看代码
 配置第一次触发时的条件![](https://img2023.cnblogs.com/blog/3172859/202305/3172859-20230528112505670-727118779.png)

 若是文件增长了,例如百分之百,就再次触发重写![](https://img2023.cnblogs.com/blog/3172859/202305/3172859-20230528112514973-925032558.png)