内存快照和日志追加
一.为什么要有内存快照和日志追加?
redis是一个内存数据库,内存数据库有个问题,突然断电或宕机后,内存的数据不会保存.为了解决这个问题,出现了内存快照和日志追加两种方式的数据保存.
二.内存快照
1.将内存中的数据以快照方式写入二进制文件中,默认文件名为dump.rdb
2.以什么机制写入?
save <seconds> <changes>
上面的配置是经过seconds秒或数据有changes更改,进行一次内存快照.
可以配置多个,只要有一个条件成立,就进行快照
save 900 1 //900秒或数据有1次更改,快照一次
save 300 10 //300秒或数据有10次更改,快照一次
save 60 1000 //60秒或数据有1000次更改,快照一次
三.日志追加
日志追加(aof)方式是把增加修改数据的命令通过write函数追加到文件末尾(默认是appendonly.aof),redis重启时读取appendonly.aof中的所有命令并且执行,从而把数据写入内存中.
1.启用日志追加
appendonly yes
2.追加方式
#appendfsync always #每次收到增加或修改命令就追加
appendfsync eyerysec #每秒强制执行一次
#appendfsync no #依赖操作系统