一主多仆
开启AOF 和异常修复并修改配置文件
当rdb 和aof同时开启时,系统会加载aof文件。
如遇到AOF文件损坏,通过
/usr/redis/bin/redis-check-aof --fix 文件的位置/appendonly.aof进行恢复
备份被写坏的AOF文件
恢复:重启redis,然后重新加载
启动服务
查进程确定运行
主机截图
从机6380截图
从机6381截图
重写流程(背诵)
(1)bgrewriteaof触发重写,判断是否当前有bgsave或bgrewriteaof在运行,如果有,则等待该命令结束后再继续执行。
(2)主进程fork出子进程执行重写操作,保证主进程不会阻塞。
(3)子进程遍历redis内存中数据到临时文件,客户端的写请求同时写入aof_buf缓冲区和aof_rewrite_buf重写缓冲区保证原AOF文件完整以及新AOF文件生成期间的新的数据修改动作不会丢失。
(4)
-
子进程写完新的AOF文件后,向主进程发信号,父进程更新统计信息。
-
主进程把aof_rewrite_buf中的数据写入到新的AOF文件。
-
使用新的AOF文件覆盖旧的AOF文件,完成AOF重写。