摘要: Redis 6.0 的多线程,并非指命令处理逻辑的多线程(命令执行仍然是单线程的),而是特指网络 I/O 的多线程,其核心目标是优化大量网络 I/O 带来的性能瓶颈,提升吞吐量,尤其是在高并发场景下。 Redis 6.0 之前 - 单线程模型与IO多路复用 在 6.0 之前,Redis 是著名的单线 阅读全文
posted @ 2025-09-22 17:39 adragon 阅读(24) 评论(0) 推荐(0)
摘要: 核心概念:什么是 Buffer Pool? 重温一下 Buffer Pool(缓冲池): 它是 InnoDB 存储引擎中最大的一块内存区域,用来缓存表和索引数据。因为从内存访问数据比从磁盘访问要快几个数量级,所以 Buffer Pool 对数据库性能至关重要。当需要访问数据时,InnoDB 会先尝试 阅读全文
posted @ 2025-09-22 15:35 adragon 阅读(27) 评论(0) 推荐(0)
摘要: 网速衡量单位 通常,网速的快慢是通过 bps或b/s(比特每秒)这一单位来衡量的,它代表了每秒钟能够传输多少位信息。我们日常所说的 10M、50M、100M宽带,实际上分别对应着10Mb/s、50Mb/s、100Mb/s的传输速率,也就是每秒能传输10兆字位、50兆字位以及100兆字位的信息。 宽带 阅读全文
posted @ 2025-09-22 10:56 adragon 阅读(134) 评论(0) 推荐(0)
摘要: Redis 的 I/O 模型是什么? Redis 的 I/O 模型是基于 I/O 多路复用 的 Reactor 模式,它属于 同步非阻塞 I/O(NIO),不是真正的 AIO(异步 I/O)。 NIO (Non-blocking I/O): 这是 Redis 使用的模型。应用程序通过系统调用(如 s 阅读全文
posted @ 2025-09-19 10:02 adragon 阅读(57) 评论(0) 推荐(0)
摘要: HTTP连接的最大数量不是一个固定的值,它取决于一个由硬件资源、操作系统配置、网络栈、以及应用程序本身共同构成的复杂系统。 简单来说:在一台配置良好的现代服务器上,使用异步非阻塞模型(如WebFlux),支持超过100万甚至更多的并发HTTP连接在理论上是可行的。 而对于传统的同步阻塞模型(如Tom 阅读全文
posted @ 2025-09-19 09:35 adragon 阅读(27) 评论(0) 推荐(0)
摘要: 一、ThreadLocal 是什么? ThreadLocal 是 Java 提供的一个用于创建线程局部变量的类。这些变量与普通变量的不同之处在于,每个访问该变量的线程都有其自己独立初始化的变量副本。它通过“空间换时间”的方式,将数据与线程绑定,避免了多线程环境下共享资源的同步问题,从而实现了线程安全 阅读全文
posted @ 2025-09-16 17:56 adragon 阅读(12) 评论(0) 推荐(0)
摘要: 1. 表锁 (Table Lock) 与隔离级别的关系:基本无关。 说明:表锁是MySQL中最基本的锁策略,它直接锁住整张表。它的行为(如读锁、写锁)主要由SQL语句本身决定(例如 LOCK TABLES ... READ/WRITE 或某些DDL语句如 ALTER TABLE),与您设置的事务隔离 阅读全文
posted @ 2025-08-30 16:40 adragon 阅读(12) 评论(0) 推荐(0)
摘要: MySQL InnoDB 在 REPEATABLE READ (RR) 隔离级别下,通过 MVCC 和 间隙锁(Next-Key Lock) 在很大程度上避免了幻读,但并非在所有场景下都能 100% 解决。 幻读的核心问题:一个事务在重新执行同一个查询时,看到了第一次查询时没有的新的行(这些行是由其 阅读全文
posted @ 2025-08-30 16:36 adragon 阅读(12) 评论(0) 推荐(0)
摘要: 概述 特性 快照读 (Snapshot Read) 当前读 (Current Read) 核心原理 基于 MVCC 和多版本数据 基于 锁 机制 读取内容 历史版本数据(某个时间点的快照) 数据的最新已提交版本 是否加锁 不加锁(非阻塞) 加锁(S锁或X锁) 实现方式 普通的 SELECT 语句 S 阅读全文
posted @ 2025-08-30 16:35 adragon 阅读(21) 评论(0) 推荐(0)
摘要: MySQL 中 InnoDB 存储引擎实现 MVCC 一、MVCC 的含义 MVCC,全称是 Multi-Version Concurrency Control,即多版本并发控制。 它是一种数据库管理技术,用于高效地处理多用户环境下的读-写和写-写冲突,从而实现非阻塞的读操作,并提高数据库的并发性能 阅读全文
posted @ 2025-08-30 16:35 adragon 阅读(21) 评论(0) 推荐(0)