- redo log ≈ 类似 RDB(快照思想)
- binlog ≈ 类似 AOF(日志追加思想)
但它们不是一回事 ,只是设计思路很像。
1. redo log ↔ RDB 像在哪里?
共同点
- 都是物理层面的记录
- 都是为了崩溃恢复
- 都是为了重启后把数据恢复回来
核心区别(面试必说)
- redo log:InnoDB 日志,循环写,固定大小,只装 "脏页修改" 作用:崩溃恢复,保证事务不丢
- RDB:Redis 全量快照,全量数据拍个照 作用:Redis 重启恢复整个数据集
一句话:redo 是 "页级物理修改记录",RDB 是 "整个内存快照"
2. binlog ↔ AOF 像在哪里?
共同点
- 都是追加写
- 都是逻辑日志 / 命令日志
- 都能用来数据恢复、主从同步
核心区别
- binlog:MySQL Server 层,逻辑 SQL 日志,主从 + 恢复
- AOF:Redis 日志,记录写命令,用于恢复 + 保证不丢
一句话:binlog 是 MySQL 的逻辑操作日志,AOF 是 Redis 的命令日志