Go语言技术文章
-
从原子操作、脚本发布、集群路由和故障回退几个边界比较 Redis Lua 脚本与 Functions,给出可落地的选择和验收方法。385 收藏 -
从 CLUSTER KEYSLOT 和 CRC16 哈希槽入手,定位 Redis Cluster 的 CROSSSLOT 报错,用 Key Tag 设计同槽键名,并验收 MGET、MULTI 与 Lua 的批量访问边界。170 收藏 -
Redis 7.4 项目里把集合成员一次性读回应用,容易让单次请求和客户端内存一起抖动。本文从 SMEMBERS 迁移到 SSCAN,说明游标循环、COUNT 提示、重复项处理和上线复测的边界。483 收藏 -
数据库 · MySQL | 1星期前 | MySQL · 数据库 · 权限管理 · 故障排查 · 账号安全 · 账号锁定 MySQL 8.4 FAILED_LOGIN_ATTEMPTS PASSWORD_LOCK_TIME ACCOUNT UNLOCK
MySQL 8.4 账号因为连续输错密码被临时锁定时,不能只看一条 Access denied。本文用 SHOW CREATE USER、Locked_connects 和失败登录记录区分锁定原因,并给出安全解锁、策略修正与复查步骤。494 收藏 -
Redis 大 Key 不只是内存占用高,还可能放大删除阻塞、网络响应和主从复制压力。本文从识别、分级、拆分、清理与复查五个环节,给出一套可在生产灰度执行的治理方法。349 收藏 -
MySQL 生产表在线加索引时,真正需要盯住的是 DDL 算法、元数据锁和回滚条件。本文用一套可执行的检查流程,说明如何先判断可用算法,再观察阻塞与进度,最后用低风险方式完成变更。230 收藏 -
Redis EXPIRETIME 返回键的绝对过期 Unix 时间戳,适合核对 EXPIRE 与 PEXPIREAT 写入的最终时间。文章用 TTL、PEXPIRETIME 和服务器时间对照,排查秒毫秒混用、时钟偏差、无过期键和恢复后的判断错误。192 收藏 -
数据库 · MySQL | 1星期前 | MySQL · 事务 · 死锁 · InnoDB · 锁等待 · mysql innodb 锁等待 SHOW ENGINE INNODB STATUS 事务死锁
MySQL InnoDB 事务死锁发生后,不能只看一条报错就改重试。本文用订单与库存更新场景还原锁等待环路,演示如何读取 SHOW ENGINE INNODB STATUS、关联 performance_schema、判断受害事务并验证修复是否真正降低死锁风险。275 收藏 -
Redis Cluster 中,多键操作需要落在同一 slot,而把所有订单都塞进一个哈希标签又可能制造热点。本文用订单明细与库存扣减场景说明如何拆分 Key、验证 slot 分布,并在多键事务与分片均衡之间做取舍。249 收藏 -
MySQL 分区表归档不要直接 DROP PARTITION:先用 INFORMATION_SCHEMA.PARTITIONS 核对边界,再用 EXCHANGE PARTITION 把旧数据换到归档表,最后用校验和回滚演练确认没有误删。483 收藏 -
Redis CONFIG SET 只改变当前进程的生效值,重启后仍可能恢复旧配置。本文用 CONFIG GET、CONFIG REWRITE、文件校验和重启后的再次查询,核对配置路径、权限、默认值、集群节点与回滚边界。204 收藏 -
Redis Sentinel 触发故障转移后,看到某个 Sentinel 报了 SDOWN 并不代表切换已经完成。本文用 ROLE、INFO replication、SENTINEL master 和 switch-master 事件,核对 ODOWN、主节点提升、从节点重挂与应用重连四个结果,给出可回滚的验收清单。356 收藏 -
MySQL 8.4 的 CTE 不一定会生成临时结果集。本文用 EXPLAIN 和 optimizer_switch 判断 CTE 是被合并还是物化,并说明 derived_merge、NO_MERGE 与多次引用的边界。253 收藏 -
MySQL 分区表建好后查询仍然很慢,往往不是分区失效,而是条件没有触发分区裁剪。本文用按月订单表拆解 EXPLAIN PARTITIONS、范围条件和分区键改写的验证方法。310 收藏 -
MySQL 8.4 的 CHECK 约束已经可以真正拦截不满足条件的写入,但约束状态、NULL 三值逻辑和隐式转换会让排查结果与直觉不同。本文用可复现实验核对约束定义、失败写入和历史脏数据清理边界。326 收藏