Redis SNAPSHOT
上一篇文章我们学习了redis aof的实现.这篇文章我们将学习redis的另一种持久化方式:snapshot(快照)。
同上一篇文章一样,我们首先介绍相关参数;然后依次介绍它的使用场景。
save <seconds> <changes>:相对一个DB,多少秒内发生了多少次更新操作,此时就会进行一次保存操作,这个可以设置多个条件,它们中的任一个满足都会保存一次,下面把这个配置叫做时间变化条件。
rdbcompression yes:是否进行压缩操作
dbfilename dump.rdb:数据文件的名字
dir /u01/xiangzhong/redis-2.4.2/data:上面文件保存的位置
2.使用场景
通过上面的参数save <seconds> <changes>我们可以知道当触发这个条件的时候就会执行一次save rdb操作。所以我们先来看一下这个过程。
2.1 save <seconds> <changes>条件触发自动运行
该过程在serverCron里判断
/* If there is not a background saving in progress check if
* we have to save now */
for (j = 0; j < server.saveparamslen; j++) {//判断总共有多少个时间变化条件,这个总共由三部分组成,系统启动时initServerConfig初始化三个[(60*60,1),(300,100),(60,10000)];然后就是加载配置文件loadServerConfig;最后就是client通过命令来添加