跳转至

数据库

MySQL 与 Redis 核心原理:日志、事务、索引、持久化与高可用

本章整理数据库相关的底层原理与面试高频知识点,分 MySQL 与 Redis 两部分。 MySQL 侧重「一条数据是怎么被安全地改掉的」(日志 + 事务 + 索引), Redis 侧重「内存数据怎么不丢、单机扛不住了怎么办」(持久化 + 哨兵 + 集群)。


MySQL

文档 主题 关键词
ACID 与三大日志 undo log / redo log / binlog 分工、WAL、崩溃恢复三阶段、两阶段提交 WAL、脏页、checkpoint、2PC
事务隔离级别 脏读 / 不可重复读 / 幻读,四种隔离级别取舍,RC vs RR 选型 READ COMMITTED、REPEATABLE READ
MVCC 机制 隐藏列与 undo 版本链、Read View 可见性判定、快照读 vs 当前读 DB_TRX_ID、Read View、next-key lock
B+ 树索引与优化 为什么是 B+ 树、聚簇索引与回表、最左前缀、覆盖索引、索引失效 聚簇索引、回表、ICP、EXPLAIN

Redis

文档 主题 关键词
持久化:RDB / AOF / 混合 BGSAVE 与 COW、appendfsync 三档、AOF 重写本质、混合持久化文件结构 RDB、AOF、aof-use-rdb-preamble
哨兵机制 主观/客观下线、Leader 选举、故障转移选主规则、脑裂防护 SDOWN、ODOWN、quorum、min-replicas-to-write
集群 Cluster 16384 哈希槽、CRC16、MOVED vs ASK、hash tag、去中心化故障转移 hash slot、CROSSSLOT、gossip

阅读路径

与其他章节的关联