010.快照持久化

一段简单的配置如下:


save 60 1000                    // 多久执行一次自动快照操作
stop-write-on-bgsave-error no   // 创建快照失败候是否仍然继续执行写命令
rdbcompression yes              // 是否对快照文件进行压缩
dffilename dump.rdb             // 如何命名硬盘上的快照文件

dir ./

创建快照的办法有以下几种:

  1. 客户端发送BGSAVE指令(fork一个进程进行处理)
  2. 客户端调用SAVE指令(在当前进程中进行处理)
  3. save 60 1000
  4. 通过redis-cli执行shutdown指令时,或者收到标准term信号时,会执行一个save命令
  5. 当一个Redis服务器连接到另一个Redis服务器,并向对方发送SYNC命令来开始一次复制操作的时候,如果主服务器目前没有执行BGSAVE操作,或者主服务器并非刚刚执行完BGSAVE操作,那么主服务器就会执行BGSAVE命令。

理解save 60 1000

如果用户设置了save配置选项,比如save 60 10000,那么从Redis最近一次创建快照之后算起,当“60秒之内有100000次写入”这个条件满足时,Redis就会自动触发BGSAVE命令。如果用户设置了多个save配置选项,那么当任意一个save配置选项所设置的条件被满足时,Redis就会触发一次BGSAVE命令。

(配置参考:个人开发服务器上可以配置成save 900 1)