Go语言技术文章
-
Redis 用 SET 更新字符串值后 TTL 变成 -1,通常不是过期计时器失效,而是 SET 默认覆盖整个键并清除旧过期时间。本文用 TTL、KEEPTTL 和 EX/PX 给出排查与修复方法。349 收藏 -
Redis Sorted Set 的相同 score 并不是无序的:member 会按字节序形成确定的次序。本文从 ZRANGE、REV、LIMIT 出发,解释偏移分页的风险,并给出复合游标、快照键和分数变化时的稳定分页方案。349 收藏 -
Redis BZMPOP 能从多个有序集合中按最低或最高分值批量弹出成员,空集合时还能等待生产者写入。本文通过最小命令、返回结构、COUNT 边界和超时路径,说明它与 BZPOPMIN、ZMPOP 的差异以及上线前的阻塞连接检查。348 收藏 -
Redis 8.8 新增 INCREX,可在一次原子操作中完成计数、边界控制和过期设置。文章说明返回值、UBOUND、SATURATE 与 ENX 的判断方法。348 收藏 -
Redis 客户端出现 NOAUTH 或权限拒绝时,先用 ACL GETUSER 查看用户状态、密码规则和命令类别,再用最小权限验证实际业务命令。本文给出一套不改业务数据的排查顺序。346 收藏 -
库存接口最难处理的不是把数字减一,而是让调用方准确区分扣减成功、重复请求、库存不足和参数错误。本文用 Redis Lua 原子脚本统一返回码,并给出 Go 服务端的参数、错误和兼容设计。346 收藏 -
用 MySQL 8.4 的 JSON_SCHEMA_VALID() 把 JSON Schema 放进 CHECK 约束,再用 JSON_SCHEMA_VALIDATION_REPORT() 和 SHOW WARNINGS 定位字段缺失、类型错误与范围越界。345 收藏 -
Redis Stream 消费者异常退出后,未确认消息会留在 PEL。本文用 XPENDING 定位积压,再比较 XAUTOCLAIM 与 XCLAIM,给出带游标、批量和重试边界的可重复接管流程。345 收藏 -
Redis HINCRBY 报 WRONGTYPE 或 value is not an integer 时,从字段实际值、写入路径和修复风险三处排查,并给出可验证的迁移顺序。344 收藏 -
把连接字符集改成 utf8mb4 不会自动改变表和索引,但列字符集迁移可能让索引前缀的字节数重新触及 InnoDB 上限。本文给出区分连接设置、核算前缀和安全迁移的检查方法。344 收藏 -
数据库 · Redis | 2天前 | Redis · 消息队列 · Stream · 消费组 · XREADGROUP XACK XPENDING XAUTOCLAIM Redis Streams Pending List
Redis Streams 使用 XREADGROUP 读取消息后,如果没有执行 XACK,消息会留在消费组的 Pending Entries List。本文用 XPENDING 定位归属和空闲时间,再分别说明原消费者恢复历史消息、健康消费者用 XAUTOCLAIM 接管故障消息的处理方式。342 收藏 -
数据库 · Redis | 2星期前 | Redis · 消息队列 · 重试机制 · Stream · 消费组 · ACK · redis streams 重试 XREADGROUP XACK PEL pending
在 Redis Streams 下游,ACK 只是消费确认,不是消息删除;pending 列表、last-delivered-id 与重试窗口一起决定消息是否真正安全出队。本文用 redis-cli 的最小链路验证常见误区和可上线检查点。339 收藏 -
数据库 · Redis | 2星期前 | Redis · Redis性能 · 延迟排查 · 运维监控 · Redis LATENCY HISTOGRAM Redis 延迟直方图 命令耗时分布 latency-tracking
Redis 平均延迟正常并不代表尾部请求没有抖动。本文用 LATENCY HISTOGRAM 查看命令级累计耗时分布,说明 latency-tracking 的开关、微秒桶和 +Inf 边界,再用调用量与实例时间窗口完成一次可复核的延迟核对。339 收藏 -
用 MySQL LOAD DATA 导入 CSV 时出现列错位,通常不是表结构突然变化,而是字段分隔符、引号规则或 Windows 行尾与实际文件不一致。本文用可复现的订单导入例子定位并修正。339 收藏 -
从 INSTANT、INPLACE、COPY 和 LOCK 四个维度,判断 MySQL ALTER TABLE 是否会重建数据,并给出克隆表试跑和上线检查清单。339 收藏