Go语言技术文章
-
Redis CONFIG SET 只改变当前进程的生效值,重启后仍可能恢复旧配置。本文用 CONFIG GET、CONFIG REWRITE、文件校验和重启后的再次查询,核对配置路径、权限、默认值、集群节点与回滚边界。204 收藏 -
Redis Pipeline 能减少网络往返,但批次过大可能让回复堆积、客户端内存上涨,甚至拉高尾延迟。本文用基线、批次对比和分位数验收说明什么时候该拆批。204 收藏 -
MySQL 的 JSON 标量提取结果未必天然适合作为函数索引键。本文说明 JSON_UNQUOTE 返回 LONGTEXT 时为什么需要 CAST,并给出字符串、数值、金额类型的索引与查询匹配写法。204 收藏 -
MySQL REGEXP_LIKE 适合做复杂文本匹配,但 NULL、大小写、行模式和索引预期都容易造成误判。本文用订单备注校验场景拆开匹配结果与执行边界。202 收藏 -
围绕 InnoDB 新增二级索引,说明如何用 ALGORITHM=INPLACE、LOCK=NONE 评估元数据锁等待、在线变更日志、临时排序文件和生产上线边界。202 收藏 -
InnoDB 检测到死锁后通常只回滚一个受害事务,以最小代价打破等待环。本文解释 victim 的选择依据、日志排查方式,以及应用收到 1213 后为什么要重试完整事务。201 收藏 -
MySQL 生成列没有单独的刷新按钮:依赖列变化时,存储生成列和它的索引在行写入过程中维护,虚拟生成列则在读取时计算。本文用最小 SQL 区分两种时机,并排查事务可见性与执行计划未用索引的常见误判。201 收藏 -
MySQL 日期范围查询没有触发分区裁剪,通常与分区表达式不匹配、日期列被函数包裹、类型转换或范围过宽有关。本文用 SHOW CREATE TABLE、INFORMATION_SCHEMA.PARTITIONS 和 EXPLAIN 的 partitions 列定位原因,并给出半开区间改写方法。201 收藏 -
MySQL 使用 REGEXP_SUBSTR 匹配带前缀文本时,返回的是完整命中而不是括号捕获组。本文解释返回边界,并用 REGEXP_REPLACE 回溯引用提取目标字段。199 收藏 -
Redis XDELEX 的 KEEPREF 会删除 Stream entry 但保留消费组 PEL 引用,DELREF 会连引用一起清理。本文用命令、场景表和 XPENDING 复核说明两者差异。198 收藏 -
一对一关联表中间出现重复行,这表明右表的外键实际上并非唯一。我们应当先通过SELECT foreign_key, COUNT() FROM child_table WHERE foreign_key IS NOT NULL GROUP BY foreign_key HA VING COUNT() >197 收藏 -
Redis Lua 脚本一旦超过 lua-time-limit,会阻塞其他命令并返回 -BUSY。本文用一个长脚本现场说明如何确认阻塞、何时可以 SCRIPT KILL、写入后为什么只能重启,以及如何在脚本侧避免再次拖住主线程。196 收藏 -
Redis BITFIELD 可以把多个小整数放进一个字符串,并在一次命令中完成读取、写入和递增。本文用设备状态计数说明 u8、# 偏移、OVERFLOW SAT/FAIL 的边界,给出 redis-cli 结果核对与生产使用清单。196 收藏 -
用 MySQL EXPLAIN ANALYZE 结合 actual time、rows、loops 与 Using temporary、Using filesort,定位临时表和排序的真实开销,再决定改 SQL 还是改索引。196 收藏 -
从默认 Tracking、BCAST、OPTIN 和 OPTOUT 的职责差异出发,结合 key 前缀、客户端数量、通知成本与重连边界,给出 Redis 客户端缓存模式的选择和最小配置方法。196 收藏