排序
垂直拆分与水平拆分的区别
垂直拆分与水平拆分的区别 拆分的两种基本思路 数据库拆分有两种基本维度:垂直拆分(Vertical Sharding)和 水平拆分(Horizontal Sharding)。理解两者的区别是设计可扩展数据库架构的基础。 ...
自增主键 vs UUID 主键对比分析
自增主键 vs UUID 主键对比分析 问题引出 设计数据库表时,主键选择是一道经典选择题: -- 自增主键 CREATE TABLE user_auto ( id BIGINT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) ); -- ...
CHAR 和 VARCHAR 选择建议
CHAR 和 VARCHAR 选择建议 基础区别 特性 CHAR VARCHAR 存储方式 定长 变长 最大长度 255 字符 65535 字节(受行大小限制) 存储空间 固定分配,不足补空格 实际长度 + 1~2 字节长度前缀 检索性...
Redis DEBUG 命令问题排查
Redis DEBUG 命令问题排查 DEBUG 命令介绍 Redis 提供了 DEBUG 命令用于调试和诊断,但也是'高危命令'之一。生产环境中误用或滥用 DEBUG 命令可能导致严重后果。 DEBUG 命令的主要子命令 # 危险...
EVAL 与 EVALSHA 的区别:Redis Lua 脚本调用的两种方式
EVAL 与 EVALSHA 的区别:Redis Lua 脚本调用的两种方式 基本概念 Redis 提供了两种方式执行 Lua 脚本:EVAL 和 EVALSHA。两者的本质区别在于脚本的传递方式——一个是完整脚本内容,一个是脚本...
主观下线和客观下线
主观下线和客观下线 概念区分 在 Redis 哨兵架构中,主节点的下线判定分为两个层次:主观下线(SDOWN) 和 客观下线(ODOWN)。正确理解这两个概念的差异是掌握哨兵工作机制的基础。 主观下线(...
build-args 作用详解
build-args 作用详解 什么是 build-arg Docker build 的 --build-arg 参数允许在构建镜像时动态传入变量,在 Dockerfile 中通过 ARG 指令接收。 基本用法 docker build \ --build-arg VERSION=1...
使用 healthcheck 等待服务就绪
使用 healthcheck 等待服务就绪 为什么需要 healthcheck 在微服务架构中,服务启动和完全就绪之间存在时间差。例如: 数据库:容器启动后,MySQL/PostgreSQL 可能还在初始化 Web 服务:可能正在...
限制 CPU 和内存
限制 CPU 和内存 面试题 Docker 如何限制容器的 CPU 和内存使用?参数怎么配置?底层原理是什么? 标准答案 Docker 通过 Linux 内核的 cgroups(Control Groups)机制实现资源限制。合理设置资...
TEXT 和 BLOB 类型的使用注意事项
TEXT 和 BLOB 类型的使用注意事项 什么是 TEXT 和 BLOB MySQL 中,TEXT 和 BLOB 是用于存储大量数据的字段类型。TEXT 系列用于存储字符串(字符数据),BLOB 系列用于存储二进制数据(图片、文...

