Go语言技术文章
-
MySQL 索引条件下推是否生效,不能只看查询用了索引。本文用 EXPLAIN 的 Extra、EXPLAIN ANALYZE 的 TREE 输出和 optimizer_switch,说明如何确认 Using index condition,并排查没有出现它的常见原因。188 收藏 -
MySQL SHOW WARNINGS 读取当前会话最近语句的诊断信息。本文用数据截断和隐式转换场景说明 warning_count、SHOW COUNT(*) WARNINGS、max_error_count、sql_mode 与 sql_notes 的区别,帮助定位警告为何出现或为何列表不完整。188 收藏 -
从 InnoDB 死锁报告中的事务 ID、MySQL thread id、SQL 和锁对象入手,结合 Performance Schema 与应用日志,把死锁日志对应到具体连接和业务事务。185 收藏 -
MySQL LOAD DATA 导入包含换行的字段时,正确配置字段分隔符、引号包裹、转义字符和行结束符,并用警告与抽样查询确认数据没有错行。181 收藏 -
通过假设故障说明redis-py普通管道的逐条响应处理,给出保留命令位置、区分ResponseError和连接未知状态的原创只读函数。178 收藏 -
Redis BITFIELD_RO 只接受 GET,可以从同一个字符串按位宽和偏移一次提取多个整数。本文用非字节对齐字段说明 i/u 编码、# 偏移、返回顺序和缺失位边界。176 收藏 -
Redis XTRIM MINID 按消息 ID 阈值清理 Stream,严格小于阈值的消息才在清理范围内。本文区分精确与近似模式、消息时间与业务时间,并说明消费者组 PEL 引用、版本策略、权限及审计注意事项。176 收藏 -
Redis JSON.SET 配合根路径和 XX 可仅更新已有文档,但子路径 XX 还要求字段存在。通过局部更新与整份替换示例,说明未命中处理、存在性竞态和版本锁边界。173 收藏 -
用 MySQL 的 SUM OVER 按客户分组计算订单累计金额,保留每条明细行,并说明稳定排序、窗口帧以及最终结果排序之间的区别。172 收藏 -
数据库 · Redis | 6天前 | Redis · 错误处理 · 事务 · exec · watch Redis事务 Discard WRONGTYPE Redis MULTI EXECABORT
Redis MULTI 报错时,先看错误发生在命令入队前还是 EXEC 执行时:语法和参数错误要修正并清理事务,WRONGTYPE 等运行时错误要逐项检查 EXEC 返回数组,WATCH 冲突才适合按条件重试。170 收藏 -
Redis ZDIFF 按成员身份返回第一有序集合与后续集合的差集。本文解释输入方向、WITHSCORES、分数变化误区,以及结果存储和生命周期。168 收藏 -
Redis SCAN 可配合 MATCH 和 COUNT 分批扫描业务键,但空批次不代表结束,COUNT 也不是页大小。本文给出只读游标循环,说明重复键、并发变化、中断状态及扫描范围的处理方式。168 收藏 -
Redis Stream 的 XREAD COUNT 只限制本次返回消息数量,不是全局限流。本文说明它与读取游标、BLOCK、多 Stream 以及 XREADGROUP 的边界。166 收藏 -
Redis CLIENT TRACKING 不会替应用保存本地缓存,而是记录客户端读过的 key,并在 key 被修改、过期或淘汰时发送失效通知。本文按 RESP3、RESP2、OPTIN/OPTOUT、BCAST 和断连竞态整理一套可落地的选择流程。166 收藏 -
MySQL JSON_TABLE 展开嵌套文档时,关键是把根数组、相对 NESTED PATH、缺失子数组和 FOR ORDINALITY 分开处理。本文用一份多层 JSON 说明如何稳定展开并避免行数误判。165 收藏