2026 24 篇 · 231 分钟
本文介绍了如何在 macOS M1 系统上使用 CMake 编译 Redis 6.2.14 版本的详细步骤。由于 Redis 官方在 6.2.14 版本之前对 ARM 架构的支持存在问题,因此推荐使用 6.2.14 或更高版本进行编译。文章提供了从创建 CMakeLists.txt 文件到编译和安装 Redis 的完整流程,包括各个依赖库(如 hdr_histogram、hiredis、linenoise、lua)的 CMake 配置。通过本文的指南,读者可以在 macOS M1 系统上顺利编译并安装 Redis 6.2.14。
本文详细介绍了在macOS M1环境下使用Parallels Desktop安装Ubuntu虚拟机的步骤,包括如何选择合适的镜像、安装过程中的设置、以及如何通过SSH连接Ubuntu虚拟机。还介绍了如何安装Parallels Tools以实现文件共享功能,并提供了常见问题的解决方法和实用参考链接,帮助用户顺利完成虚拟机的安装与配置。
使用 macOS 终端命令快速制作 Ubuntu 安装 U 盘。本教程涵盖如何查找磁盘、使用 dd 命令写入 ISO 镜像,并安全地弹出设备,适合希望在 mac 上制作 Linux 启动盘的用户。
在 macOS 上搭建高效的 Java 开发环境:使用 sdkman 安装 JDK 与 Maven,配置 IntelliJ IDEA 常用选项,并推荐一批实用插件(JRebel、Grep Console、Maven Helper 等)和日志配色方案,提升日常开发效率。
在MAC的终端(Terminal)中,不仅可以通过原生的功能完成工作,还可以通过一系列的美化和配置,将其打造成一个既美观又高效的开发工具。本文将从字体选择、Terminal 主题美化到 Zsh 配置优化,为您详细介绍如何一步步提升MAC Terminal的使用体验。
本文系统梳理了 InnoDB 中的高级索引机制,从聚簇索引与辅助索引的物理结构出发,解释回表、覆盖索引、自适应哈希索引以及 MRR 多范围读取等关键优化点,并结合「三星索引」理念,帮助你在实际业务中设计出更高效的 MySQL 索引方案。
深入分析 MySQL 在使用 LIMIT OFFSET 进行深度分页时的性能瓶颈,从执行器的真实行为入手,给出基于主键 ID、二级索引、游标分页和全局索引表的多种优化方案,并附带实际耗时对比与适用场景说明。
解析了MySQL中EXPLAIN命令的执行结果及其各个字段的含义。文章通过实例说明如何使用EXPLAIN命令来分析查询性能,并解读查询计划中的关键信息,如select_type、table、type、possible_keys、key、rows等字段,帮助更好地理解和优化SQL查询。
系统梳理 MySQL 索引优化的实战要点:联合索引的使用原则、覆盖索引的收益与适用场景、索引下推(ICP)机制、In/OR 与 LIKE 前缀匹配的索引行为,以及 ORDER BY、GROUP BY 与分页查询在大表下的性能优化策略与示例。
MySQL 索引是数据库查询优化的关键,合理的索引设计可以显著提高查询性能。本篇博客将介绍 MySQL 索引的优化规则,包括索引类型、最佳实践、常见误区以及如何使用 EXPLAIN 进行优化分析,帮助你构建高效的数据库查询方案。
本文系统介绍了 MySQL InnoDB 中 MVCC(多版本并发控制)的工作机制,包括快照读与当前读的区别、MVCC 解决的典型问题(读写不阻塞、降低死锁、实现一致性读),以及 InnoDB 通过 undo log 版本链与 Read View 来判断「当前事务能看到哪一个数据版本」的完整过程。通过多组事务时序示例,文章直观展示了在可重复读与读已提交隔离级别下,事务为何能看到不同的数据版本,从而帮助读者从实现层面真正理解 MySQL 的事务隔离与并发控制。
在 MySQL中,索引的选择和使用直接影响查询的执行成本。本文将详细介绍如何计算索引查询的代价,包括范围区间数量、回表次数、索引选择、排序代价、扫描行数等关键因素。通过EXPLAIN和TRACE命令,我们可以深入分析 SQL查询的执行过程,理解 MySQL 优化器的决策逻辑,并针对索引选择、查询优化提供实用的优化策略,帮助开发者提升数据库性能。
本文通过简要介绍 MySQL 中的各个核心组件,包括连接器、查询缓存、解析器、优化器、执行器和日志模块,带领读者一步步梳理一条 SQL 语句在数据库中的完整执行流程。从客户端发送请求开始,到生成执行计划,再到实际读取或写入数据,逐层揭示各模块的职责与协作方式,帮助读者建立起对 MySQL 内部工作机制的整体认识,为后续性能调优和故障排查打下基础。
介绍了如何使用MySQL的trace命令来分析查询的执行过程。文章详细讲解了trace命令的具体用法,并通过解析trace结果,帮助读者理解MySQL在执行查询时是如何选择索引的,以及如何通过分析这些信息来优化查询性能。
在Apple Silicon(M 系列)Mac上部署Oracle容器存在架构兼容性难题。本教程介绍如何通过Colima 配置 x86_64虚拟机并启用Rosetta支持,轻松在ARM macOS上运行 Oracle数据库镜像。
本文系统介绍了 RabbitMQ 的基础用法,并深入解析如何通过 Spring Boot 集成实现消息的发送、接收与监听。内容涵盖交换机、队列、绑定关系及消息确认机制等核心概念,旨在帮助开发者高效构建稳定可靠的消息驱动系统。
本文深入探讨了在使用 RabbitMQ 时如何保障消息系统的可靠性与稳定性,涵盖了消息不丢失的保障机制、消费者幂等性的实现策略、消息顺序的控制技巧以及数据堆积的应对方法。通过实践经验与配置建议相结合,帮助你构建一个高可用、可控且具备容错能力的消息队列系统。
死信队列(DLX)和延迟队列是构建健壮消息系统的关键机制。本文深入讲解了 RabbitMQ 中死信队列的触发场景(如消息过期、拒收、队列满等),以及如何利用插件或 TTL+死信机制实现延迟队列。通过配置示例帮助你掌握在生产环境中正确使用这两类队列,以实现消息重试、延迟处理、异常监控等常见需求。
本文介绍了 MQ 的基本概念、使用场景,并提供了在本地环境下安装 RabbitMQ 的详细步骤,适合消息队列初学者快速上手。
记录自己参与 Redis 开源过程中的问题复现、调试步骤和思考。
你的数据真的同步完整了吗? 本文直击数据架构的隐形陷阱——基于快照和自增主键水位线的增量同步在 Read Committed 隔离级别下,如何导致延迟提交的事务(如“订单 1002”案例)被批处理任务永久遗漏。我们将深入分析这一问题的数据库根源,并对比两种根本性解决方案:一是基于业务/应用水位线的增量处理,它通过时间戳或版本号来弥补快照缺陷;二是变更数据捕获 (CDC),它通过读取事务日志,彻底实现零遗漏、近实时的数据同步。通过对比侵入性、数据完整性、成本与实时性,助你选择最可靠的流式数据架构策略。
本文深入对比了 socket 的阻塞模式与非阻塞模式的行为差异,涵盖 connect、accept、send、recv 等常用函数在两种模式下的表现,以及各自的优缺点、适用场景和错误处理方式,帮助你在开发高性能网络程序时做出正确选择。
记录如何下载并重命名 Spring 5.3.10 源码、使用 Gradle 编译并在 IntelliJ IDEA 中创建测试模块,验证注解扫描与依赖注入可正常运行,并给出 Gradle 构建日志与注意事项。
本文从动态代理入手,系统梳理了 Spring AOP 中几个最核心的概念和实现方式:先用 CGLIB / JDK 动态代理说明“代理”究竟改变了什么,再通过 ProxyFactory、Advice、Advisor、Pointcut 等 API 串起 Spring AOP 的底层机制,最后再回到注解驱动的使用方式,帮助读者把「怎么用」和「为什么这样设计」连接起来。