Go语言技术文章
-
MySQL NOWAIT 不等待行锁,遇到争用会立即返回错误。本文从事务边界、索引范围和业务语义三方面设计快速降级,区分 SKIP LOCKED、普通读取与稍后重试。403 收藏 -
从 InnoDB 死锁日志还原事务等待环,对应索引和 SQL 访问路径,并用统一锁顺序、缩小扫描范围与事务重试降低复发。401 收藏 -
Redis 8.2 的 XACKDEL 可在一条原子命令中确认并条件删除 Stream 消息。本文说明 KEEPREF、DELREF、ACKED 的区别、返回码判断、批量调用方式及多消费组采用边界。401 收藏 -
从写拆分、读复制和应用本地缓存三个方向缓解 Redis 热点 Key,说明槽位分散、缓存失效、一致性代价以及上线检查方法。397 收藏 -
Redis Cluster 迁移哈希槽时,客户端可能收到正常响应、ASK、TRYAGAIN 或 MOVED。本文从 Key 是否已迁移出发,解释正确的重定向、槽位缓存与重试处理。397 收藏 -
Redis Streams 没有独立的 NACK 命令,本文用 PEL、XPENDING、XAUTOCLAIM 和 XACK 说明 pending 消息的观察、接管、重试与死信处理策略。397 收藏 -
介绍 MySQL 8.4 资源组隔离报表查询 CPU 的实用配置:创建低优先级用户组,按会话、线程或单条语句分配,核对线程归属,并说明它与只读副本、SQL 优化及硬配额的边界。396 收藏 -
MySQL CHECK 约束可以先用 NOT ENFORCED 保留定义,再在清理存量脏数据后切换为 ENFORCED。本文用一张订单表串起状态识别、违规扫描、修复隔离和 ALTER CHECK 切换的完整迁移路径。395 收藏 -
通过重复排序值和移动聚合案例说明 MySQL 窗口函数中 ROWS 与 RANGE 的结果差异,解释默认框架、peer rows、稳定排序键以及数值和时间范围的选择方法。394 收藏 -
用绝对毫秒时间戳设计 Redis ZSET 延迟队列的 score,并结合稳定任务 ID、原子领取、处理租约和幂等消费避免常见并发问题。394 收藏 -
围绕 MySQL wait_timeout 与客户端连接生命周期,说明如何配置 database/sql 连接池、设置安全余量、识别失效连接,并限制只读查询重试的边界。392 收藏 -
对比 MySQL CTE 合并与物化的执行方式,结合聚合查询、MERGE/NO_MERGE 提示和 EXPLAIN 检查,说明选择条件与常见边界。392 收藏 -
从隔离级别、索引条件和扫描区间入手,分析 MySQL InnoDB 间隙锁与临键锁造成的并发插入阻塞,并给出复现和收敛方法。390 收藏 -
从 PSYNC、复制 offset 和 backlog 覆盖范围入手,按峰值复制流速估算 repl-backlog-size,并用 INFO replication 判断短暂断线能否避免全量同步。390 收藏 -
MySQL 连接属性不会自动把会话送进资源组。本文用 session_connect_attrs 识别连接,再通过 SET RESOURCE GROUP 完成调度,并给出线程核对、权限与连接池复用的配置方法。388 收藏