Go语言技术文章
-
Redis WAIT 用 numreplicas 和毫秒级 timeout 等待当前连接此前写入被副本确认。本文说明返回值判断、超时处理、连接边界,以及它与 AOF 持久化和强一致保证的区别。383 收藏 -
Redis Cluster 槽位迁移期间,客户端要把 MOVED 当作长期路由更新,把 ASK 当作单次请求授权,并通过槽位表刷新、重定向上限和指标记录保持路由稳定。237 收藏 -
Redis Cluster 中,普通 Pub/Sub 适合必须让所有节点参与的全局广播,分片 Pub/Sub 适合按频道把消息限制在所属 shard。本文从命令配对、频道命名、监控检查和丢消息边界说明怎样做选择。232 收藏 -
Redis XAUTOCLAIM 可按空闲阈值扫描消费组待确认消息并变更所有权。本文说明返回游标、空页、业务成功后 XACK、回复版本差异与幂等处理,并给出有限页扫描示例。212 收藏 -
Redis Stream 消费组中的消息如果长时间没有 XACK,可以通过 PEL、XPENDING 和 XCLAIM 转给新消费者。本文说明超时认领、幂等处理、XACK 闭环与重复认领边界。500 收藏 -
Redis BITFIELD 可以在一个字符串键中组合 GET、SET 和 INCRBY 操作。本文用位宽、偏移和溢出边界说明怎样安全更新多个位字段。322 收藏 -
MySQL 排序规则变化后出现等值结果不同、排序顺序变化或索引计划异常时,按列定义、连接会话、EXPLAIN 和 WEIGHT_STRING() 逐层定位,并给出保留列属性的统一迁移方案。158 收藏 -
MySQL 逻辑备份的并发写入窗口应区分 InnoDB DML、相关 DDL 和非事务表。本文说明单事务快照的适用条件、MySQL 8.4 工具兼容性,以及独立产物、失败保留和业务交接安排。444 收藏 -
MySQL 复制延迟不能只看一个时间差。本文按 replica_parallel_workers、复制通道状态、协调线程和工作线程逐层分析,帮助定位并行度不足、单线程拖尾与重试错误。488 收藏 -
多个 worker 从 MySQL InnoDB 任务表取件时,普通 FOR UPDATE 可能互相等待。本文用最小 SQL 说明 SKIP LOCKED 如何跳过已锁行、如何在短事务中更新状态,以及 NOWAIT、锁释放和失败重试的边界。239 收藏 -
MySQL 长事务读到旧值,常与隔离级别和快照创建时机有关。本文用双会话示例对比 RR 首次一致性读、显式快照与 RC 每次读,并说明读类型、自身修改和事务结束的边界。214 收藏 -
MySQL 查询计划与预期不一致时,可在当前会话开启 optimizer trace,从 INFORMATION_SCHEMA.OPTIMIZER_TRACE 阅读候选访问路径、代价和完整性字段,再结合 EXPLAIN 做判断。466 收藏 -
数据库 · MySQL | 1天前 | MySQL · 执行计划 · 查询优化 · 分区表 · mysql partition pruning 分区裁剪 RANGE COLUMNS EXPLAIN partitions
MySQL 分区裁剪看的是分区键条件能否被优化器化简为可判断的常量或范围。本文从分区定义、EXPLAIN 的 partitions 列、函数表达式和隐式类型转换入手,给出定位条件写法的排障路径。124 收藏 -
MySQL 8.0.13 及以上可以用函数索引直接索引 DATE(created_at) 的结果,但索引定义必须使用双层括号,查询表达式也要保持一致。本文从创建、命中判断和生成列替代三个方面说明日期表达式查询的落地写法。451 收藏 -
MySQL 不可见索引可以在不直接删除索引的情况下测试优化器计划:先记录索引和 EXPLAIN,再将普通二级索引设为 INVISIBLE,最后用 use_invisible_indexes 做单条语句对照,依据计划、性能和约束影响决定恢复或删除。332 收藏