乐趣区

关于redis:RDB持久化

什么是 RDB

redis 将内存中的数据存储到磁盘上的二进制文件。通过该文件,能够在启动时,还原数据库状态(数据)。

载入和写入

载入
仅在服务启动时载入。AOF 优先载入,如果没有开启 AOF 的时候,载入 RDB

SAVE 命令
服务过程写入。回绝其它客户端命令

BGSAVE 命令
子过程写入。回绝 SAVE、BGSAVE 命令

主动保留

配置文件中的 save 项,示意 x 秒内保留 >n 次,触发 BGSAVE 主动保留。多个 save 配置,满足一个即触发。

save SECONDS SAVE_TIMES

保留条件读入 redisServer 对象中,相干字段

struct redisServer {
  struct saveparams *saveparams; // 保留条件数组
  long dirty; // 批改计数器
  time_t lastsave; // 上次保留工夫
}

struct saveparams {
  time_t seconds;
  int changes;
}

RDB 文件构造

退出移动版