排序
跨主机容器通信方案
跨主机容器通信方案 为什么需要跨主机通信 单台 Docker 主机的资源有限,当服务规模扩大后,容器必然分布在多台主机上。这时就需要跨主机通信方案让不同机器上的容器像在同一个网络中一样通信。...
客户端连接集群
客户端连接集群 客户端连接集群的方式 Redis Cluster 的客户端连接方式与单机 Redis 有显著不同。由于数据分散在多个节点上,客户端需要实现智能路由才能高效地访问数据。 客户端类型 1. Smart ...
Server 层和存储引擎层分工
Server 层和存储引擎层分工 为什么需要分层 MySQL 将逻辑处理和数据存储分开,Server 层负责'做什么',引擎层负责'怎么做'。这种设计让 MySQL 能够灵活支持多种存储引擎,是它最大的架构优势之...
MySQL日志系统:类型、作用与配置详解
MySQL日志系统:类型、作用与配置详解 概述 MySQL 的日志系统是其可靠性和数据一致性的基石。了解各类日志的作用和处理流程,是深入理解 MySQL 运行机制的关键。InnoDB 存储引擎结合 MySQL Serv...
CHAR 和 VARCHAR 选择建议
CHAR 和 VARCHAR 选择建议 基础区别 特性 CHAR VARCHAR 存储方式 定长 变长 最大长度 255 字符 65535 字节(受行大小限制) 存储空间 固定分配,不足补空格 实际长度 + 1~2 字节长度前缀 检索性...
使用 healthcheck 等待服务就绪
使用 healthcheck 等待服务就绪 为什么需要 healthcheck 在微服务架构中,服务启动和完全就绪之间存在时间差。例如: 数据库:容器启动后,MySQL/PostgreSQL 可能还在初始化 Web 服务:可能正在...
延迟双删策略
延迟双删策略 什么是延迟双删 延迟双删(Delayed Double Delete)是一种在'先删缓存,再更新数据库'方案基础上,通过异步延迟再次删除缓存来保证最终一致性的策略。 为什么要用延迟双删 回顾'先...
Pub/Sub 与 Stream 的区别:为什么说 Stream 是 Pub/Sub 的升级版
Pub/Sub 与 Stream 的区别:为什么说 Stream 是 Pub/Sub 的升级版 简单认识两者 Pub/Sub(发布订阅):简单的消息广播系统,发布者向频道发消息,所有订阅者实时接收。 Stream:支持持久化的消...
VOLUME 指令:匿名卷与数据持久化的正确姿势
VOLUME 指令:匿名卷与数据持久化的正确姿势 概述 VOLUME 是 Dockerfile 中用于声明数据卷的指令。它告诉 Docker:'这个目录需要持久化存储,不要把它写在容器的可写层中。' 当容器被删除时,VO...
文件排序(filesort)的优化与避免
文件排序(filesort)的优化与避免 什么是 filesort 当 MySQL 无法使用索引完成排序时,就需要自己进行排序操作,这个操作称为 filesort(文件排序)。 EXPLAIN SELECT * FROM order WHERE stat...

