1)RDB:在指定的时间间隔内将内存中的数据集快照写入磁盘,Snapshot快照,它恢复时将快照文件直接读到内存
redis会单独创建(fork)一个子进程来持久化,会先将数据写入到一个临时文件中,带持久化过程结束了,再用这个临时文件替换上次持久化好的问及那。
如果需要对大规模数据的恢复,且对于数据恢复的完整性不是很敏感,那rdb方式比aof方式更加高效。rdb的缺点是最后一次数据可能丢失
fork:作用是复制一个与当前进程一样的进程。新进程的所有数据(变量)作为原来的子进程
rdb保存的是dump.rdb文件
配置文件在:save seconds change 保存快照时间设置
查看redis进程是否启动:ps -ef|grep redis
lsof -i 6379
netstat
rdb备份: 1分钟改1万次
5分改10次
15分钟改1次
禁用: 无配置或save “”
stop-writes-on-bgsave-error:在后台出错的情况下停止写入
rdbcompression 对于存储到磁盘中的快照,可以设置是否进行压缩
rdbchecksum:在存储快照后,还可以让redis使用CRC64算法进行数据校验,但是这样做会增加大约10%的性能消耗
2)如何触发rdb快照
save命令:save只管保存,其它不管
bdsave:redis后台异步进行
flushall:无意义
3)如何恢复文件:将备份文件dump.rdb放到目录下
4)优势:适合大规模的数据恢复 对数据完整性和一致性要求不高
5)劣势:如果意外down掉,丢失最后一次
fork需要考虑内存空间