Go语言技术文章
-
Redis 6.2 起,XPENDING 可通过 IDLE 毫秒阈值筛选消费组 PEL 中长时间未确认的消息。本文给出完整命令、返回字段、按消费者过滤与排他范围分页方法,并讲清 XPENDING、XAUTOCLAIM、XCLAIM 和 XACK 的职责边界。349 收藏 -
Redis Latency Monitor 会按 command、fork、AOF 和淘汰等事件记录超过阈值的延迟尖峰。本文用 LATENCY LATEST、DOCTOR、HISTORY 和 GRAPH 建立一套从阈值到事件再到外部证据的排查路径。348 收藏 -
Redis MEMORY STATS 的 allocator_frag_ratio 是 allocator_active 与 allocator_allocated 的比值。本文用命令、公式和对照表说明如何结合 allocator_frag_bytes、allocator_rss_ratio 与 mem_fragmentation_ratio 判断内存现象。348 收藏 -
Redis Sentinel 客户端不应把主节点 IP 写死,而应保存多个 Sentinel 地址和服务名,查询候选主节点后再用 ROLE 校验。连接断开或发生故障转移时重新解析地址,并在主节点变化后重建连接池。343 收藏 -
MySQL 直方图适合修正倾斜列的选择性估算。本文从基线、建直方图、检查采样、对比 EXPLAIN 到刷新和回滚,给出一套可操作的排查手册。341 收藏 -
区分 go-redis 的 PoolTimeout、DialTimeout、ReadTimeout、WriteTimeout 与单次 context deadline,结合 PoolStats 判断连接池排队、建连失败和命令读写变慢。340 收藏 -
介绍 Redis CMS.MERGE 合并多个 Count-Min Sketch 的命令格式、权重用法、参数边界和结果偏大的排查方法。340 收藏 -
utf8mb4 排序规则不只是影响 ORDER BY,还会决定字符串比较、查询命中和 UNIQUE 索引是否判重。本文从大小写、重音、尾随空格三个维度,给出 MySQL 8.4 下的选择方法与迁移检查清单。337 收藏 -
Redis Count-Min Sketch 用很小且固定的空间估计数据流频次,但哈希碰撞会让共享计数单元叠加,因此查询值不是精确值。本文结合 error、probability、动态阈值和精确计数结构说明它适合什么场景。337 收藏 -
MySQL 多值索引会把 JSON 数组元素拆成多条索引记录,因此能加速成员判断,却不能从索引还原完整数组。本文解释回表原因、EXPLAIN 误区,并给出生成列与关系化拆分方案。336 收藏 -
MySQL LAST_VALUE 受窗口 frame 限制;存在 ORDER BY 时,默认 frame 通常只到当前行。本文用显式 UNBOUNDED FOLLOWING、稳定排序键和 ROW_NUMBER 说明正确写法。333 收藏 -
MySQL 显式指定 ALGORITHM=INSTANT 时不支持就会报错,不会自动回退。本文给出按操作类型、表属性、并发与空间风险判断 INPLACE 或 COPY 的生产变更方法。333 收藏 -
Redis 分布式锁续期失败后,旧客户端不应继续产生受保护副作用。本文从租约、随机所有者令牌和围栏令牌的区别出发,给出可取消续期、资源侧拒绝旧写入、监控指标与工程取舍。333 收藏 -
MySQL 同一张表存在多个相同事件和时机的触发器时,默认按创建顺序执行。本文用 FOLLOWS、PRECEDES 固定 BEFORE UPDATE 链路,并给出复核与维护清单。333 收藏 -
MySQL NDB Cluster 8.4 用 ArbitrationRank 选择仲裁节点:0 表示不参与,1 表示高优先级,2 表示低优先级。本文从排查现场出发,给出管理节点、SQL/API 节点的配置关系,以及 Arbitration 覆盖、滚动重启和 ndbinfo 观察边界。333 收藏