排序
CHAR 与 VARCHAR 的选择建议
CHAR 与 VARCHAR 的选择建议 基本区别 -- CHAR:定长字符串 CREATE TABLE t1 (col CHAR(10)); -- VARCHAR:变长字符串 CREATE TABLE t2 (col VARCHAR(10)); 存储方式 特性 CHAR VARCHAR 长度 固...
Cache Aside 模式
Cache Aside 模式 什么是 Cache Aside 模式 Cache Aside(旁路缓存)是目前最常见的缓存策略,也是 Redis 作为缓存层时最广泛使用的模式。它的核心思想是:应用程序直接管理缓存和数据库的读写...
InnoDB 隐藏列:DB_TRX_ID 与 DB_ROLL_PTR
InnoDB 隐藏列:DB_TRX_ID 与 DB_ROLL_PTR 概述 InnoDB 的聚簇索引(Clustered Index)中,每一行记录除了用户定义的字段外,还包含一些系统隐藏列。其中最重要的两个隐藏列是 DB_TRX_ID 和 DB_...
脑裂数据丢失路径
脑裂数据丢失路径 脑裂导致数据丢失的完整过程 脑裂导致的数据丢失不是瞬间发生的,而是一个逐步演进的过程。理解这个路径有助于针对性地设计防护措施。 第一阶段:网络分裂 正常状态: 主节点 ...
Docker 监控 OOM 事件
Docker 监控 OOM 事件 什么是容器 OOM 当容器内进程尝试分配超过 cgroup 内存限制的内存时,Linux OOM Killer 会介入,杀掉容器内的进程。这是容器最常见的异常退出原因之一。 监控 OOM 的方法 ...
文件排序(filesort)的优化与避免
文件排序(filesort)的优化与避免 什么是 filesort 当 MySQL 无法使用索引完成排序时,就需要自己进行排序操作,这个操作称为 filesort(文件排序)。 EXPLAIN SELECT * FROM order WHERE stat...
集群脑裂及防止
集群脑裂及防止 什么是集群脑裂 Redis Cluster 脑裂(Split Brain)是指集群由于网络分区导致节点之间的通信中断,不同分区内的节点各自做出独立的决策,导致集群状态不一致的现象。 在 Redis C...
容器重启策略 restart
容器重启策略 restart 面试题 Docker 容器的重启策略(restart policy)有哪些?分别适用于什么场景? 标准答案 重启策略决定容器退出后 Docker 的行为——是自动重启、记录失败还是完全不管。...
缓存与数据库一致性
缓存与数据库一致性 一致性问题来自哪里 在引入了缓存的系统中,数据会同时存储在缓存(Redis) 和数据库(MySQL) 中。当数据发生更新时,需要同时更新两个存储层。由于两者是独立的存储系统,...
Docker 生态全面总结
Docker 生态全面总结 Docker 的时代意义 Docker 不仅是一种技术工具,更是一场软件交付方式的革命。从 2013 年开源至今,Docker 已经深刻地改变了整个软件行业。 I. Docker 核心知识体系 基础层...

