Go语言技术文章
-
Redis 连接数打满时,先用 INFO clients 和 CLIENT LIST 区分真实并发、空闲连接与连接池泄漏,再核对 maxclients,最后分时回收异常连接并修正池配置。140 收藏 -
围绕 go-redis 的 PoolTimeout、连接回收和 PING 验收,拆解客户端请求超时后连接是否还能复用,以及如何用可观察的检查判断半开连接。137 收藏 -
读写分离最容易出问题的地方不是把查询发到副本,而是写后读、事务边界和主副本切换时的会话状态。本文用 MySQL 8.4 的 GTID 等待与路由规则,搭一套可核对、可回切的处理方法。135 收藏 -
用 Redis INFO commandstats 拆解单命令 CPU 异常,理解 calls、usec、usec_per_call、failed_calls 与采样窗口的关系,并给出可复核的排查流程。135 收藏 -
用 MySQL EVENT 做定时清理时,真正容易漏掉的是全局启用状态、会话时区和执行记录。本文用一张清理任务表说明如何配置、验证、留痕与安全停用。132 收藏 -
Redis 设置了 EXPIRE 后,键并不一定在到点瞬间从内存消失。本文从 TTL 读数、访问触发的惰性删除和后台主动过期检查入手,说明为什么会看到过期键,以及怎样用命令判断问题究竟在观察方式、访问路径还是过期清理压力。122 收藏 -
Redis 7.0 引入的 SPUBLISH 和 SSUBSCRIBE 会把消息限制在频道对应的集群分片内,适合降低普通 Pub/Sub 的跨节点扩散。本文从频道哈希、订阅连接和返回值入手,给出一组可复查的消息验收方法。119 收藏 -
MySQL 报 Too many connections 时,不要先盲目调大 max_connections。本文用 Threads_connected、Threads_running、SHOW PROCESSLIST、Connections 和 Threads_created 建立一条可复现的定位顺序,区分连接泄漏、并发峰值与线程创建开销。119 收藏 -
Redis LMPOP 可以从多个 List 中选择一个非空队列并批量取出元素,但它不是轮询器。本文核对 LEFT、RIGHT、COUNT、空结果和多键顺序,给出多队列消费的安全写法与上线检查点。115 收藏 -
用 MySQL 8.4 的 authentication_policy 规划单因素与多因素账号,说明 caching_sha2_password、旧客户端兼容窗口和上线前登录验收方法。113 收藏 -
Redis ZDIFFSTORE 会把第一个有序集合中不属于后续集合的成员写入目标键。本文用候选榜与已处理榜说明差集的成员边界、分值保留规则、空结果和集群同槽核验。112 收藏 -
MySQL 主从切换后如何确认新主库已经追上指定事务?本文用 GTID 集合和等待函数组织一套可回滚的断点判断流程,覆盖超时、空集合和误判场景。111 收藏 -
REPLACE INTO 遇到主键或唯一键冲突时,不是原地更新,而是先删除旧行再插入新行。本文用订单同步场景拆开执行语义、AUTO_INCREMENT、外键级联和更稳妥的替代写法。109 收藏 -
数据库 · MySQL | 1天前 | 慢查询 · sql优化 · MySQL教程 · mysql explain EXPLAIN ANALYZE sort_buffer_size Using filesort
EXPLAIN 出现 Using filesort 只说明排序没有直接由索引完成,并不等于查询一定很慢。本文用订单列表场景拆开 filesort 的输入行数、排序缓冲区、临时文件和实际耗时,给出可复现的判断与优化顺序。109 收藏 -
MySQL 8.4 升级后旧客户端可能因认证插件不兼容而连接失败。本文从 mysql_native_password 停用、账户认证方式和客户端升级三个边界出发,给出可回滚的检查、切换与回归步骤。106 收藏