Posted 2024-03-03Updated 2024-03-04数据库 / MySQL21 minutes read (About 3193 words)如何进行数据库性能优化?本文分析了 SQL 执行慢的可能原因,总结了数据库性能优化的一般步骤,最后介绍几个实际项目中的 SQL 优化案例(持续补充)。Read more
Posted 2024-02-28Updated 2024-03-04数据库 / MySQL19 minutes read (About 2910 words)分库分表——实战篇本文介绍了两个实际业务中进行的分库分表案例,关于分库分表基本原理和方案,在另一篇文章《分库分表——原理篇》中进行了总结。Read more
Posted 2024-02-27Updated 2024-03-04业务系统 / 服务迁移26 minutes read (About 3970 words)服务上云那些事出于业务发展的需要,我有过一次将整体服务迁移至 AWS 公有云平台的经历,包括服务部署机器、数据库、中间件以及其他辅助平台,整体都要在 AWS 公有云重建或者重新进行技术选型和替换。整个过程非常复杂,在这篇文章中,我将分享下这次服务上云的实践经验。Read more
Posted 2024-02-26Updated 2024-02-29数据库 / MySQL44 minutes read (About 6577 words)分库分表——原理篇本文是对分库分表基本原理以及通用方案的总结归纳,内容主要来源于互联网上的几篇博客,详见参考文献部分。我在另一篇文章《分库分表——实战篇》中介绍了基于这些通用原理,在实际项目进行的两个分库分表案例。Read more
Posted 2024-02-26Updated 2024-02-26Java / 并发28 minutes read (About 4199 words)深入理解 Java 线程本文结合 Thread 类源码,介绍下 Java 中创建线程的方式,线程生命周期,线程状态转换、线程中断、线程异常处理等知识点,以及为什么 stop、suspend 等方式被标注为过时,最后会讨论并发编程中,创建多少线程才是合适的。Read more
Posted 2024-01-07Updated 2024-02-29网络22 minutes read (About 3227 words)socket 通信中可能发生哪些异常本文总结了 socket 编程中可能遇到的几种异常情况,并分析了在发生异常时 TCP 协议层的具体行为,深入了解网络编程和 TCP 协议之间的紧密联系。Read more
Posted 2023-12-19Updated 2024-02-26数据库 / Redis22 minutes read (About 3237 words)保证缓存最终一致性的方案有哪些?使用 Redis 做缓存时,必须要考虑的一个问题就是如何保证缓存和数据库中数据的一致性。业界已经总结了几种常用的更新缓存的设计模式,本文将对它们进行分析和对比。Read more
Posted 2023-11-13Updated 2024-03-11数据库 / Redis20 minutes read (About 3049 words)Redis 做缓存可能面临哪些问题?本文介绍了 Redis 做缓存时,可能面临的问题,以及这些问题的解决方案,包括缓存一致性、缓存雪崩、穿透、击穿、BigKey、HotKey 等。Read more
Posted 2023-11-07Updated 2024-03-04Java / 并发15 minutes read (About 2188 words)ThreadLocal 为什么要这么实现?本文介绍了 ThreadLocal 实现原理和应用场景Read more