Go语言技术文章
-
介绍 Redis Stream 如何通过 XREADGROUP、XACK、XPENDING 和 XAUTOCLAIM 组织可重试任务队列,并说明至少一次投递下的幂等、超时转交和历史清理边界。349 收藏 -
Redis 6.2 起,XPENDING 可通过 IDLE 毫秒阈值筛选消费组 PEL 中长时间未确认的消息。本文给出完整命令、返回字段、按消费者过滤与排他范围分页方法,并讲清 XPENDING、XAUTOCLAIM、XCLAIM 和 XACK 的职责边界。349 收藏 -
Redis BZMPOP 能从多个有序集合中按最低或最高分值批量弹出成员,空集合时还能等待生产者写入。本文通过最小命令、返回结构、COUNT 边界和超时路径,说明它与 BZPOPMIN、ZMPOP 的差异以及上线前的阻塞连接检查。348 收藏 -
Redis 8.8 新增 INCREX,可在一次原子操作中完成计数、边界控制和过期设置。文章说明返回值、UBOUND、SATURATE 与 ENX 的判断方法。348 收藏 -
Redis Latency Monitor 会按 command、fork、AOF 和淘汰等事件记录超过阈值的延迟尖峰。本文用 LATENCY LATEST、DOCTOR、HISTORY 和 GRAPH 建立一套从阈值到事件再到外部证据的排查路径。348 收藏 -
Redis MEMORY STATS 的 allocator_frag_ratio 是 allocator_active 与 allocator_allocated 的比值。本文用命令、公式和对照表说明如何结合 allocator_frag_bytes、allocator_rss_ratio 与 mem_fragmentation_ratio 判断内存现象。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 | 3星期前 | Redis · 消息队列 · Stream · XREADGROUP XACK XPENDING XAUTOCLAIM Redis Streams Pending List
Redis Streams 使用 XREADGROUP 读取消息后,如果没有执行 XACK,消息会留在消费组的 Pending Entries List。本文用 XPENDING 定位归属和空闲时间,再分别说明原消费者恢复历史消息、健康消费者用 XAUTOCLAIM 接管故障消息的处理方式。342 收藏 -
MySQL 直方图适合修正倾斜列的选择性估算。本文从基线、建直方图、检查采样、对比 EXPLAIN 到刷新和回滚,给出一套可操作的排查手册。341 收藏 -
区分 go-redis 的 PoolTimeout、DialTimeout、ReadTimeout、WriteTimeout 与单次 context deadline,结合 PoolStats 判断连接池排队、建连失败和命令读写变慢。340 收藏