分布式缓存

分布式缓存通过 Redis 等系统解决本地缓存无法共享和可扩展性差的问题,典型读流程是先查缓存、未命中再查数据库并写回缓存;同时需要通过缓存空值和布隆过滤器防止缓存穿透,通过随机过期时间和 Redis 高可用防止缓存雪崩,并采用“先更新数据库,再删除缓存”的策略尽量保证缓存与数据库最终一致。

本地缓存

本地缓存通过把远程数据保存在服务进程内存中提升高并发读取性能,并通过 FIFO、LFU、LRU、W-TinyLFU 等策略管理有限的缓存空间;其中 W-TinyLFU 综合近期访问和访问频率提高命中率,而 SingleFlight 则将同一个 Key 的并发缓存未命中请求合并为一次数据库访问,避免热点数据失效造成缓存击穿。

数据库读写分离

数据库读写分离通过 Master 承担写请求、Slave 承担读请求来扩展高并发读能力,但主从复制会带来主从延迟问题,因此需要根据业务一致性要求选择同步复制、强制读主或会话分离等方案,在读性能、写性能和数据一致性之间做权衡。

LSM Tree

LSM Tree(Log-Structured Merge Tree,日志结构合并树)是一种面向高并发写入优化,同时兼顾查询效率的键值存储模型。

MySQL 总结

大型互联网后台中,MySQL 作为关系型数据库如何承担核心数据存储,以及如何通过主从复制、MHA、MMM、MGR 等方案构建高可用架构。

© 2026 DadaVinCi's Blog

Elegant theme by Shiro · Made by Acris with ❤️