Go语言技术文章
-
MySQL 复制延迟排查不能只看 Seconds_Behind_Source。本文用 SHOW REPLICA STATUS 对照 IO 接收线程和 SQL 应用线程,区分网络接收慢、中继日志堆积与应用报错。254 收藏 -
围绕 Redis Stream 消费者组的 PEL,说明 XAUTOCLAIM 如何按最小空闲时间接管超时消息、推进 start 游标、处理 0-0 与 deleted IDs,并给出恢复消费者的 Go 调用骨架。254 收藏 -
MySQL 不可见索引适合用来做删除前的影响试验。本文从索引边界、可见性切换、执行计划与真实工作负载观察四个方面说明怎样安全回滚,不把试验误当成删除。254 收藏 -
MySQL 8.4 的 CTE 不一定会生成临时结果集。本文用 EXPLAIN 和 optimizer_switch 判断 CTE 是被合并还是物化,并说明 derived_merge、NO_MERGE 与多次引用的边界。253 收藏 -
Redis Hash 适合把一组相关属性放在同一个键下,但字段过大、更新频繁或过期时间不同,会让读取、内存和淘汰策略变得难以验收。本文用用户资料缓存场景拆解字段粒度、局部更新、拆键与 TTL 的取舍,并给出 redis-cli 检查方法。253 收藏 -
MySQL LOAD DATA 导入 TSV 时,字段内制表符要靠引号边界或反斜杠转义表达;本文给出两种写法,并用 HEX、CHAR(9) 和 SHOW WARNINGS 验证结果。253 收藏 -
数据库 · MySQL | 3星期前 | MySQL · 事务 · InnoDB · 锁定读 MySQL NOWAIT FOR UPDATE NOWAIT FOR SHARE NOWAIT InnoDB行锁 ERROR 3572
MySQL 锁定读默认会等待冲突行锁,追加 NOWAIT 后可立即返回 3572 错误。本文用双连接示例说明 FOR UPDATE NOWAIT 的写法、事务回滚、错误处理,以及它与默认等待和 SKIP LOCKED 的边界。253 收藏 -
Redis ZUNION 可以为每个输入 Sorted Set 指定 WEIGHTS,再用 SUM、MIN 或 MAX 合并重复成员的分数。本文用评分合并示例说明参数顺序、结果读取和生产边界。253 收藏 -
Redis Lua 可把库存判断与扣减封装为单次原子执行。本文给出 KEYS、ARGV 参数契约和单键脚本,说明整数范围、写入前检查、脚本耗时及超时重试的限制。253 收藏 -
MySQL 的普通派生表不能引用同一 FROM 子句里的前置表;在派生表前加 LATERAL,并把被引用表放在左侧,就能为每个外层行计算相关结果。252 收藏 -
Redis ZRANGESTORE 可以把 Sorted Set 按排名、分数或字典序筛选后直接保存到新 key。本文用 redis-cli 说明范围边界、REV、LIMIT、返回值和多 key 使用边界。252 收藏 -
说明 Redis PEXPIRETIME 如何读取键的 Unix 毫秒级绝对过期时间,区分有效时间戳、-1 和 -2,并比较 EXPIRETIME、PTTL 的使用场景。252 收藏 -
Redis Streams 消费组中的消息如果长时间没有确认,会留在 PEL 里。本文用 XAUTOCLAIM 按最小空闲时间接管消息,讲清游标、COUNT、JUSTID、XACK 和重复投递边界。252 收藏 -
用一个缓存服务和一个报表读取服务的例子,拆解 Redis ACL 中用户、命令集合与 key pattern 的关系,并用 ACL DRYRUN 验收最小权限。251 收藏 -
用一组混合 JSON 数据拆开 JSON_TABLE 的缺失路径、类型转换、默认值与报错边界,给出可直接改写的 SQL 配置方法。251 收藏