什么是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文件结构


Leonly
1 声望0 粉丝

下一篇 »
redis对象