Go语言技术文章
-
用 MySQL WITH RECURSIVE 从邻接表生成组织树,讲清根节点参数、层级字段、路径排序、终止条件、深度上限与循环防护,并给出可直接改造的 SQL。127 收藏 -
通过只读SQL查看MySQL NDB日志缓冲区占用,保留节点、日志类型与分区身份,计算占用率,区分备份行缺失和零占用,避免集群平均值掩盖局部差异。127 收藏 -
判断 MySQL 派生表物化后是否溢出磁盘,不能只看 Created_tmp_disk_tables。本文从 EXPLAIN、tmp_table_size、TempTable 资源、Performance Schema 和 InnoDB 临时表空间五个证据点说明如何定位。126 收藏 -
MySQL 8.4 与当前 9.7 会解析窗口帧 EXCLUDE,却在执行时直接报错。本文解释 CURRENT ROW、GROUP、TIES 对移动聚合集合的标准语义,并给出在 MySQL 中用 SUM、COUNT、NULLIF 和显式同值行规则改写的可靠方法。126 收藏 -
Redis Lua 脚本返回多个值时,先把结果设计成稳定的索引数组,再按客户端类型解析;本文说明 Lua 表、RESP 数组、Python list、Go 切片和空值之间的映射。125 收藏 -
MySQL Performance Schema 查平均耗时时,应从 events_statements_summary_by_digest 读取 AVG_TIMER_WAIT,并按皮秒换算为毫秒。本文说明采集开关、查询写法、聚合边界和短窗口核对方法。125 收藏 -
Redis GEOSEARCH 可以从地理索引中按圆形或矩形范围筛选成员。本文从配送围栏误判场景出发,拆开 BYRADIUS、WITHDIST、ASC、COUNT 与 ANY 的组合边界,给出可核对的命令结构和排障判断。124 收藏 -
MySQL JSON_TABLE 单独用普通 PATH 取值时,字段缺失和 JSON null 都可能表现为 NULL;增加 EXISTS PATH 列记录路径是否出现,再结合取值列即可区分三种输入状态。124 收藏 -
Redis 8.8 新增 INCREX,把计数、上限和过期时间放进一个原子命令。文章用 redis-cli 演示 60 秒窗口限流,解释 UBOUND、ENX、SATURATE 的差别,并给出旧版本回退方案与检查边界。123 收藏 -
Redis COPY 适合在同一实例内复制缓存或配置键,但 REPLACE、DB 和 Redis Cluster 的哈希槽限制很容易被忽略。本文用可验证命令讲清返回值、TTL、复杂度和失败边界。123 收藏 -
Redis 设置了 EXPIRE 后,键并不一定在到点瞬间从内存消失。本文从 TTL 读数、访问触发的惰性删除和后台主动过期检查入手,说明为什么会看到过期键,以及怎样用命令判断问题究竟在观察方式、访问路径还是过期清理压力。122 收藏 -
MySQL 8.0 的 INVISIBLE 列可以让新字段先进入表结构,却不改变 SELECT * 的旧返回集。本文用同一张 orders 表演示灰度加列、显式读取和回滚检查。122 收藏 -
Redis 8.10 的 BLMOVEM 可以阻塞等待并批量搬运列表元素,但 COUNT 与 EXACTLY 的唤醒条件完全不同。本文从目标列表间歇性断粮的故障现象出发,拆清 timeout、OBO、BULK、事务与 Lua 场景的边界,并给出修复选择和上线检查清单。122 收藏 -
Redis SCAN 是渐进式遍历,不是一次性分页接口。本文用游标、MATCH、COUNT 和去重集合拆开“漏键”错觉,给出可验收的清理脚本与边界判断。121 收藏 -
用 Redis MODULE LIST 盘点实例加载的扩展模块,核对 name、ver、path 等返回字段,并给出上线前后的风险检查方法。121 收藏