Go语言技术文章
-
Redis Streams 消费者组出现 Pending 积压时,先用 XPENDING 区分总量、消费者和空闲时间,再用 XAUTOCLAIM 认领失联消费者的消息,最后以幂等处理和 XACK 收口。458 收藏 -
数据库 · MySQL | 6天前 | MySQL · InnoDB · 数据库运维 · mysql Threads 锁等待 data_locks performance_schema data_lock_waits INNODB_TRX 阻塞事务
MySQL 锁等待排查应先看 performance_schema.data_lock_waits,再连接 data_locks、innodb_trx 和 threads,区分等待事务、阻塞事务、锁资源与会话信息。本文给出查询路径,并说明空闲阻塞和现场快照的边界。458 收藏 -
Redis CLIENT PAUSE WRITE 适合在主节点升级或故障转移前短暂暂停写命令。本文给出控制连接、复制观察、切换和 CLIENT UNPAUSE 的协作步骤,并说明 WRITE、ALL、超时和回滚边界。458 收藏 -
STRING_AGG必须指定非NULL分隔符且排序需在函数内显式声明;它自动跳过NULL但保留空字符串,应优先于array_agg+array_to_string,处理数组字段需先unnest。STRING_AGG 语法必须带分隔符,不能省略或传 NULL 在PostgreSQL 15里,STRIN457 收藏 -
删除一条订单主表记录时,如果外键触发级联检查,耗时可能来自子表扫描、级联删除和锁等待。本文用 InnoDB 示例拆开索引与锁范围。457 收藏 -
MySQL NDB事件订阅和普通SQL查询都能访问NDB数据,但职责完全不同:SQL主动读取当前快照,NDB API事件订阅等待数据变化。本文对比触发方式、结果形态、调用关系、ndbinfo观察入口、恢复重建和SQL补数边界,给出按任务选型的清单。457 收藏 -
Redis 8.6 新增 HOTKEYS,可以在指定采样窗口内按 CPU 或网络指标找出高频访问键。本文从缓存延迟升高的现场出发,演示 HOTKEYS START、GET、STOP 的最小用法,解释 COUNT、DURATION、SAMPLE 与 SLOTS 的边界,并给出集群分片、误判和上线验收清单。456 收藏 -
EXPIRE 只能让整个 Redis Hash key 过期,不能单独淘汰某个 field。Redis 7.4.0 起可用 HEXPIRE、HPEXPIRE 设置字段级 TTL;旧版本则应按生命周期拆分 key。456 收藏 -
Redis Flex 把 RAM 与 SSD 组合成分层存储后,索引与数据的驻留位置会直接影响查询边界。本文区分自动分层、Redis Search 索引和返回路径,给出大数据集下的选型与查询设计方法。456 收藏 -
Redis 的 MEMORY USAGE 会返回一个键及其值在内存中的字节数,并计入管理开销。本文说明单值键怎样直接测量、聚合类型怎样用默认采样或 SAMPLES 0 估算,以及如何避免把单键结果误读成实例总内存。456 收藏 -
Redis Functions 升级最容易混淆的是 library name、function name 和 Lua 脚本 SHA1。本文用整库替换、脚本兼容窗口和升级检查表,说明如何保持业务调用名稳定。455 收藏 -
MySQL 导入备份遇到 GTID_PURGED 冲突时,先比较备份 GTID 集与目标端 gtid_executed、gtid_purged、gtid_owned,再按新副本、已有实例或多份局部备份选择保留、注释或省略 GTID 元数据。455 收藏 -
MySQL 8.0+ 应用 JSON_TABLE 安全拆分逗号字符串,需先 REPLACE 转为合法 JSON 数组格式并注意空格,再结合 TRIM/NULLIF 处理空值;超千行建议移至应用层处理。MySQL 8.0+ 怎么用 JSON_TABLE 安全拆分逗号字符串直接用 SUBSTRING_I454 收藏 -
用部门层级和类别树说明 MySQL 8.4 递归 CTE 的停止条件、cte_max_recursion_depth、循环引用检测与路径验收,避免层级查询卡住或重复展开。454 收藏 -
联合索引遇到中间列范围条件后,后列通常不能继续缩小同一个连续扫描区间。本文用键组顺序和 EXPLAIN 说明原因,并给出索引重排判断清单。454 收藏