Go语言技术文章
-
Redis 连接数量一多,只看地址和用户名很难判断请求来自哪个客户端库。本文用 Redis 7.2 引入的 CLIENT SETINFO 设置 LIB-NAME、LIB-VER,再通过 CLIENT LIST 和 CLIENT INFO 核对连接来源,并处理旧版本兼容。361 收藏 -
介绍 Redis CLIENT TRACKING 的 BCAST 模式,说明如何用 PREFIX 接收客户端缓存失效通知,并处理 RESP2 重定向、NOLOOP、前缀重叠和通知连接断开等边界。361 收藏 -
ROW_NUMBER()分页出错是因为ORDER BY字段重复导致行号分配不稳定,必须在排序末尾添加唯一列(如id)兜底;WHERE条件需用子查询或CTE套一层且rn别名不可省略;避免使用运行时函数或精度不足的时间字段。ROW_NUMBER() 分页为什么总出错?需知,ROW_NUMBER() 本身360 收藏 -
Redis ACL DRYRUN 可以在不执行命令的情况下模拟用户权限。本文从 ACL SETUSER 配置命令权限和密钥模式,逐项验收读写边界、拒绝原因与上线前回归。359 收藏 -
MySQL 组合索引不是把常用字段随意拼在一起。本文用等值条件、范围条件和排序三个场景说明列顺序如何影响扫描范围,并给出 EXPLAIN 验收方法。359 收藏 -
MySQL 联合索引缺少中间列时,后缀列通常不能像连续最左前缀一样直接定位,但可能参与索引条件检查。本文用执行计划区分查找、过滤与 Skip Scan,并给出索引调整判断方法。358 收藏 -
Redis Cluster 的多键命令要求相关键位于同一 hash slot。本文用 hash tag 设计键名,再用 CLUSTER KEYSLOT 排查空标签、嵌套花括号和模板不一致等问题。358 收藏 -
MySQL 不可见索引可以模拟删除而保留快速回滚能力。本文从索引约束、不可见化、执行计划、慢查询和工作负载三层观察,给出决定是否 DROP INDEX 的检查顺序。358 收藏 -
Redis ZRANGE 查询结果与预期不一致时,先区分 WITHSCORES 返回形状、REV 反向排序和 LIMIT 分页边界,再用可复现的命令核对索引位置与游标。357 收藏 -
MySQL GTID 切换前不要只看延迟或最后编号,本文用 GTID_SUBSET、GTID_SUBTRACT、复制状态和备份检查点建立可执行的事务连续性检查清单。357 收藏 -
Redis Cluster 的多 key 命令、MULTI/EXEC 和 Lua 脚本要求相关 key 落在同一 hash slot。本文用 Hash Tag 设计用户级 key,给出 MSET、事务与脚本的选择方法,并说明 CROSSSLOT、TRYAGAIN、热点和重分片边界。357 收藏 -
MySQL 8.4 存 IPv6 地址时,不建议把文本直接塞进 VARCHAR。本文用 INET6_ATON 和 INET6_NTOA 演示 VARBINARY(16) 存储、NULL 与非法输入边界、索引查询和应用层回显。356 收藏 -
Redis Sentinel 触发故障转移后,看到某个 Sentinel 报了 SDOWN 并不代表切换已经完成。本文用 ROLE、INFO replication、SENTINEL master 和 switch-master 事件,核对 ODOWN、主节点提升、从节点重挂与应用重连四个结果,给出可回滚的验收清单。356 收藏 -
Redis Pipeline 出现异常时,不能只看 Exec 总错误。本文用 Go 客户端拆分请求级、命令级和业务级结果,区分 redis.Nil、命令参数错误与连接故障,并说明部分成功与重试边界。354 收藏 -
数据库 · MySQL | 1个月前 | MySQL · 执行计划 · 统计信息 · sql优化 · 数据库排查 · 查询优化 MySQL 8.4 直方图统计 ANALYZE TABLE COLUMN_STATISTICS
MySQL 查询明明有索引,优化器却把结果行数估得很离谱时,问题可能在列值分布而不是索引定义。本文用订单状态分布不均的场景,演示 MySQL 8.4 直方图的生成、读取、采样率核对与安全删除,说明它适合修正什么判断,以及哪些列不能生成直方图。353 收藏