Go语言技术文章
-
MySQL Clone 恢复后不需要重新猜复制起点。本文说明如何从 performance_schema.clone_status 读取一致性 GTID 或文件位点,分别衔接复制通道,并处理配置未克隆、日志已清理和多线程中继日志恢复失败等问题。139 收藏 -
从 ACL CAT 识别实例分类,以最小权限创建业务用户,并用 +@all -@dangerous、键模式和频道模式限制 Redis 危险命令与数据范围。451 收藏 -
MySQL 多值索引会把 JSON 数组元素拆成多条索引记录,因此能加速成员判断,却不能从索引还原完整数组。本文解释回表原因、EXPLAIN 误区,并给出生成列与关系化拆分方案。336 收藏 -
Redis Sentinel 客户端不应把主节点 IP 写死,而应保存多个 Sentinel 地址和服务名,查询候选主节点后再用 ROLE 校验。连接断开或发生故障转移时重新解析地址,并在主节点变化后重建连接池。343 收藏 -
MySQL 生成列索引未命中表达式查询时,重点检查生成列定义、表达式结构、结果类型、JSON_UNQUOTE 和 EXPLAIN 计划,区分匹配失败与成本选择。286 收藏 -
Redis AOF 重写会让旧文件、新 base 和重写期间增量短暂共存。本文用 INFO persistence 与实际目录采样,给出可复用的磁盘峰值估算式和发布前检查清单。468 收藏 -
从树形执行计划的 Materialize、临时子查询表和自动去重索引节点,判断 MySQL 是否真正采用了子查询物化。121 收藏 -
Redis 的 lfu-decay-time 表示访问频率计数每减少 1 所需的分钟数,默认值 1,设为 0 则不衰减。它不是 TTL,也不是后台定时清零。本文结合 8 位计数器、OBJECT FREQ 和调参场景说明如何选择。461 收藏 -
MySQL NOWAIT 不等待行锁,遇到争用会立即返回错误。本文从事务边界、索引范围和业务语义三方面设计快速降级,区分 SKIP LOCKED、普通读取与稍后重试。403 收藏 -
Redis Cluster 多键操作遇到 CROSSSLOT 时,应使用稳定业务 ID 设计哈希标签,让相关 key 进入同一槽位,同时避免固定标签造成热点。本文给出 key 命名、Go builder、槽位核对和扩容边界。320 收藏 -
MySQL 递归 CTE 需要同时防止层级过深与父子路径成环。本文给出携带 depth 和分隔 path 的安全查询模板,并补充递归上限、查询超时、终止查询、回滚和复盘清单。275 收藏 -
Redis Functions 会随数据库持久化并从主节点复制到副本,但集群多主、异步复制和全新实例恢复仍有边界。本文给出加载、切换、核对与发布清单。154 收藏 -
MySQL JSON_TABLE 展开多层数组的关键,是让每个 NESTED PATH 相对父级行源继续匹配,并把父级标量列定义在对应 COLUMNS 作用域中。本文用订单、商品、批次三级 JSON 给出完整 SQL,解释父级字段重复、序号列、空数组补 NULL 与兄弟子句非笛卡尔积等边界。137 收藏 -
Redis 7.4 开始支持 Hash 字段独立过期。本文从稳定实体、字段生命周期、热点风险和原子写入四个维度,说明适合的数据模型、HEXPIRE 门禁规则、返回值处理,以及 Redis 8 HSETEX 的使用边界。462 收藏 -
MySQL 8.4 与当前 9.7 会解析窗口帧 EXCLUDE,却在执行时直接报错。本文解释 CURRENT ROW、GROUP、TIES 对移动聚合集合的标准语义,并给出在 MySQL 中用 SUM、COUNT、NULLIF 和显式同值行规则改写的可靠方法。126 收藏