1、redis两大数据持久化机制:RDB AOF
2、AOF采用写后才进行日志记录的方式,避免是否是正确指令的判断
3、AOF记录的是redis收到的修改命令,并将这些命令按照一定的格式以文本形式记录下来
4、日志回写磁盘时是一个慢操作会阻塞主线程(AOF是在主线程中进行的),在命令执行完后如果服务宕机导致日志未回写
提供了三种回写策略(在性能和可靠性之间平衡):always:每个写命令执行完立马同步回写磁盘
everySec:每个写命令执行完先把命令存储在AOF文件的内存缓存区,1秒后才将缓冲区中的内容写入磁盘
no:每个写命令执行完先将命令存储在AOF文件内存缓冲区中,由操作系统控制回写
5、AOF文件一直追加命令会导致AOF文件过大,可能导致下面的问题
一、追加命令时效率低
二、恢复时速度慢
三、文件系统本身对文件大小的限制
6、AOF重写解决文件过大问题,下面是AOF重写的一些理解
一、通过合并命令减少文件大小
二、是有主线程fork出的子线程完成,降低阻塞可能,因为fork操作也可能阻塞主线程
三、在重写的过程中存在两份AOF日志