Go语言技术文章
-
MySQL 联合索引缺少前导列条件时,普通 range 访问难以直接定位后缀范围。本文用单表覆盖索引示例说明 SKIP_SCAN 提示的写法、适用条件、EXPLAIN 观察点、optimizer_switch 边界和提示被忽略时的处理方式。197 收藏 -
MySQL 单表按组取最小值时,如何让 GROUP BY 列形成联合索引左前缀,并让 MIN 列紧邻其后。结合 SQL 示例说明 Loose Index Scan 条件、计划标记与改造边界。203 收藏 -
Redis LATENCY DOCTOR 不只是告诉你 Redis 变慢了,还会按事件类型给出延迟尖峰的统计和建议。本文从阈值、事件名、统计指标和后续证据四步读懂报告。246 收藏 -
Redis WAITAOF如何在同一连接等待本地与副本AOF确认,怎样选择参数、比较返回计数,并为超时和断连设计幂等恢复。499 收藏 -
Redis BLMOVEM 的 EXACTLY 会在源列表未达到指定数量时继续阻塞,凑够后再恰好转移一批元素。本文对比 COUNT 的最多转移语义,说明方向、BULK/OBO、timeout、事务脚本和集群边界。234 收藏 -
Redis HPEXPIRE 可以为同一个 hash 中的指定字段设置毫秒级过期时间。本文用 go-redis/v9 说明服务端版本、字段级 TTL、HPTTL 复查、NX/XX/GT/LT 条件以及常见错误。487 收藏 -
Redis SETBIT 用非负 bit offset 设置或清除字符串中的某一位。本文用 offset 0、7、8 说明跨字节写入,配合 GETBIT、BITCOUNT 和 Go 代码处理编号映射、旧值返回以及大偏移扩容边界。303 收藏 -
Redis SINTERCARD 用 LIMIT 可以在交集数量达到阈值时提前结束统计。本文从返回值语义、CLI 示例和应用层布尔判断三方面说明 LIMIT 0、正数阈值、空集合及集群多 key 边界。404 收藏 -
Redis ZPOPMAX 会从有序集合中取出并删除最高分成员,适合把 sorted set 当作优先级队列。本文说明 key、count、批量返回顺序、Go 客户端读取和业务确认边界。363 收藏 -
Redis ZRANK 默认只返回有序集合成员的零基排名,追加 WITHSCORE 后可以同时得到排名和分数。本文说明升序排名、同分成员顺序、缺失成员边界,并用 go-redis/v9 的 ZRankWithScore 正确处理 redis.Nil。422 收藏 -
用 Redis HSCAN 的 cursor、MATCH 和 COUNT 分批筛选大型 Hash 字段,说明空批次、COUNT 提示语义、NOVALUES 与动态数据边界。459 收藏 -
Redis BLMOVE 的 timeout 按秒设置,0 表示无限等待。本文用 CLI 和 go-redis/v9 演示有限等待、redis.Nil 超时分支、context 取消边界,以及可靠队列中 processing 列表的恢复责任。481 收藏 -
Redis LMOVE 可以把任务从待处理列表原子转移到处理中列表,配合 BLMOVE、LREM、超时回收和幂等任务 ID,构建可恢复的可靠任务转移队列。489 收藏 -
Redis XREADGROUP 默认会把新消息加入消费者组的 PEL。本文说明 NOACK 怎样让消息读取后不写入 pending,并梳理 >、具体消息 ID、XACK、BLOCK 和 CLAIM 的边界,帮助你按可靠性选择消费方式。498 收藏 -
通过 performance_schema.threads 找到 THREAD_ID,再使用 SET RESOURCE GROUP 将指定线程切换到目标资源组,并掌握权限、线程类型和本地生效范围。291 收藏