一、快照
记录某一时间点数据的完整备份,比如mysql的dump和redis的rdb
1.1、redis的RDB
1.2、redis的RDB的save指令
1.3、redis的RDB的bgsave指令
1.4、redis的RDB的自动备份
1.5、redis的RDB配置
- stop-writes-on-bgsave-error:如果发生错误是否停止备份
- rdbcompression 是否采用压缩
- rdbchecksum 是否需要验证
二、日志
记录数据库的操作日志的方式。
2.1、RDB问题分析
耗时、耗性能
丢失数据
2.2、AOF简介
AOF文件基于日志原理进行创建
AOF方式数据恢复
2.3、AOF配置
2.3.1、always
2.3.2、everysec
2.3.3、no
根据操作系统来决定刷新时间
2.3.4、AOF相关配置
- appendonly :打开aof
- no-appendfsync-on-rewrite:在进行aof重写的时候,不进行新的aof文件刷进数据(如果配置成yes,可能会导致数据丢失,但是为了性能最佳实践配置是 配置成yes)
三种方式进行比较
2.4、AOF重写
AOF如果记录每次指令,那么AOF文件就会无限制的增大,而且记录每条指令会执行很多没有意义的工作, 比如 set name a; set name b; set name c;其实只有最后一条是有意义的数据,还有对过期数据的处理。
重写策略