Go语言技术文章
-
用 Redis ZSET 的 score 表示到期时间,拆清轮询频率、ZPOPMIN 原子取出、重复消费和故障恢复边界,给出一套可落地的延迟任务实现方案。232 收藏 -
MySQL 生产表在线加索引时,真正需要盯住的是 DDL 算法、元数据锁和回滚条件。本文用一套可执行的检查流程,说明如何先判断可用算法,再观察阻塞与进度,最后用低风险方式完成变更。230 收藏 -
数据库 · Redis | 2天前 | Redis · Redis Cluster · 故障排查 · Pub/Sub · Redis Cluster Redis PUBSUB SHARDCHANNELS Redis 分片订阅 SHARDNUMSUB
Redis Cluster 使用分片 Pub/Sub 后,频道是否活跃、订阅者到底在哪个节点,不能再只看 PUBSUB CHANNELS。本文用 PUBSUB SHARDCHANNELS、SHARDNUMSUB 和节点范围核对分片频道,拆开模式匹配、活跃定义与故障排查边界。228 收藏 -
数据库 · MySQL | 1天前 | MySQL · 错误处理 · 事务 · 存储过程 · 数据库运维 · MySQL存储过程 MySQL GET DIAGNOSTICS SQLSTATE MYSQL_ERRNO 事务异常处理
MySQL 存储过程中的异常处理不能只靠一个通用错误提示。GET DIAGNOSTICS 可以读取 SQLSTATE、MYSQL_ERRNO、MESSAGE_TEXT、NUMBER 和 ROW_COUNT,再把可审计的结果写入日志表;本文用订单入库事务说明诊断区读取、回滚与 RESIGNAL 的边界。215 收藏 -
数据库 · MySQL | 6小时前 | MySQL · 事务 · 并发控制 · 隔离级别 · InnoDB · READ COMMITTED MySQL一致性读 当前读 快照读 REPEATABLE READ FOR UPDATE
用两个事务的可复现实验解释 MySQL InnoDB 快照读为什么看不到另一个事务刚提交的数据,并对比 REPEATABLE READ、READ COMMITTED 与 SELECT ... FOR UPDATE 的适用边界。207 收藏 -
MySQL 8.4 开启 sql_generate_invisible_primary_key 后,InnoDB 无主键表可能出现不可见的 my_row_id。本文用 SHOW CREATE TABLE、SHOW INDEX 和信息架构查询确认真实表结构,并说明复制与备份边界。206 收藏 -
EXPLAIN 的 filtered 很低不等于索引失效。本文用可复现实验拆开 rows、filtered、实际扫描行数与统计信息之间的关系,给出索引、ANALYZE TABLE 和回归验证的判断顺序。205 收藏 -
Redis CONFIG SET 只改变当前进程的生效值,重启后仍可能恢复旧配置。本文用 CONFIG GET、CONFIG REWRITE、文件校验和重启后的再次查询,核对配置路径、权限、默认值、集群节点与回滚边界。204 收藏 -
Redis Pipeline 能减少网络往返,但批次过大可能让回复堆积、客户端内存上涨,甚至拉高尾延迟。本文用基线、批次对比和分位数验收说明什么时候该拆批。204 收藏 -
Redis BITFIELD 可以把多个小整数放进一个字符串,并在一次命令中完成读取、写入和递增。本文用设备状态计数说明 u8、# 偏移、OVERFLOW SAT/FAIL 的边界,给出 redis-cli 结果核对与生产使用清单。196 收藏 -
Redis EXPIRETIME 返回键的绝对过期 Unix 时间戳,适合核对 EXPIRE 与 PEXPIREAT 写入的最终时间。文章用 TTL、PEXPIRETIME 和服务器时间对照,排查秒毫秒混用、时钟偏差、无过期键和恢复后的判断错误。192 收藏 -
Redis ZSet 适合按时间分拣延迟任务,但先用 ZRANGEBYSCORE 读取、再用 ZREM 删除会留下并发抢占窗口。本文从两个 worker 同时取到同一 job_id 的现场出发,说明如何用 Lua 把筛选与删除放进一次原子操作,并保留重复执行与故障恢复边界。192 收藏 -
Redis Cluster 返回 MOVED 或 ASK 时,客户端都需要重定向,但两者代表的槽位状态并不相同。本文用槽位迁移现场拆开路由缓存、ASKING、重试次数和故障排查边界,帮助判断哪些响应可以自动跟随、哪些情况应该先查集群状态。191 收藏 -
Redis ZSET 分页出现漏数据,通常不是 Redis 丢了记录,而是分页游标只保存 score、同分值记录缺少 member 边界,或翻页期间集合发生变化。本文用一组可复现命令拆开排序规则、游标设计和上线检查。189 收藏 -
给一个需要同时写入多个 Redis 字符串键的初始化场景,说明 MSETNX 为什么能做到全成全败、返回 0 时如何定位已存在键,以及单机原子语义在集群多键操作中的边界。189 收藏