排序
容器退出后数据持久化
容器退出后数据持久化 面试题 容器退出后,容器内产生的数据会丢失吗?如何保证数据在容器生命周期结束后依然存在? 标准答案 容器退出后,容器文件系统的变更默认会保留在磁盘上(除非使用了 -...
级联复制的原理与应用场景
级联复制的原理与应用场景 概述 级联复制(Cascading Replication)是一种链式复制架构:从库不直接从主库同步数据,而是从另一个从库同步。这种架构可以减轻主库的复制负载,适合从库数量较多...
Gossip 协议通信
Gossip 协议通信 什么是 Gossip 协议 Gossip 协议是一种去中心化的分布式通信协议,灵感来源于社交网络中的'八卦传播'模式。在 Redis Cluster 中,节点之间通过 Gossip 协议来交换集群状态信息...
慢命令与为什么应该避免 KEYS *:Redis 性能杀手面面观
慢命令与为什么应该避免 KEYS *:Redis 性能杀手面面观 什么是慢命令 慢命令(Slow Command)是指时间复杂度为 O(N) 或更差、可能阻塞 Redis 主线程并导致服务短暂'卡顿'的操作。由于 Redis 是...
Redis 延迟定位:像侦探一样找出慢速根源
Redis 延迟定位:像侦探一样找出慢速根源 Redis 延迟来源谱系 当 Redis 响应变慢时,不能简单地归因于'Redis 变慢了'。以下是所有可能的延迟来源: 客户端 ├── 网络延迟 ├── 连接池耗尽 ...
为什么避免使用 SELECT * 以及最佳实践
为什么避免使用 SELECT * 以及最佳实践 SELECT * 的问题 -- 不推荐 SELECT * FROM user WHERE id = 123; -- 推荐 SELECT id, name, email FROM user WHERE id = 123; 很多开发人员习惯 SELECT *...
查询缓存为何 8.0 移除
查询缓存为何 8.0 移除 查询缓存是什么 查询缓存(Query Cache)是 MySQL 在 Server 层的一个优化特性:将 SELECT 语句的完整结果缓存起来,相同的查询直接返回缓存结果,跳过解析、优化和执行...
TEXT 和 BLOB 类型的使用注意事项
TEXT 和 BLOB 类型的使用注意事项 什么是 TEXT 和 BLOB MySQL 中,TEXT 和 BLOB 是用于存储大量数据的字段类型。TEXT 系列用于存储字符串(字符数据),BLOB 系列用于存储二进制数据(图片、文...
数据迁移、扩缩容方案
数据迁移、扩缩容方案 为什么数据迁移如此棘手 分库分表后,数据迁移是一个绕不开的问题。当数据量增长超过预期、分片策略需要调整、或者硬件需要升级时,都需要对已有数据进行迁移。 主要挑战...
表字段过多时的垂直拆分策略
表字段过多时的垂直拆分策略 什么是垂直拆分 垂直拆分(Vertical Partitioning / Vertical Sharding)是指将一张列数过多的表,按列拆分为多张结构不同的表,每张表拥有原表的部分列。 这与水平...

