Go语言技术文章
-
Redis XNACK 可以把消费组 PEL 中仍未确认的消息释放为立即可重新投递状态。本文说明 SILENT、FAIL、FATAL 对 delivery counter 的影响,并梳理 RETRYCOUNT 与 FORCE 的使用边界。296 收藏 -
Redis SCAN 适合把键空间遍历拆成多次小调用,但它不是把完整遍历变成一次零成本操作。本文用 Go 和 go-redis 说明如何保存游标、控制每页数量、放入后台任务,并正确处理空页、重复键、取消和 cursor=0 的结束条件。451 收藏 -
Redis HGETDEL 用一条命令读取并删除 Hash 中的一个或多个字段,适合消费后回收、一次性领取和取出即清理场景。本文说明 FIELDS 语法、返回顺序、缺失字段、最后字段删除以及与 HDEL 的选择边界。363 收藏 -
Redis JSON.NUMINCRBY 可以按 JSONPath 给文档中的数值增加一个增量。本文用嵌套对象和数组说明点号路径与 $ 路径的返回差异,并梳理非数字、无匹配、键不存在和结果越界等边界。411 收藏 -
Redis Bitmap 适合保存大量用户的单值状态,但关键不在于把用户 ID 直接当 offset,而在于稳定的连续映射、清晰的 key 作用域和可控的统计范围。本文用一个状态字段拆解设计边界。246 收藏 -
Redis ZSET 会先按 score 排序,分数相同时再按 member 的字典序排列。本文从同分漂移问题出发,给出把业务二级排序字段编码进 member 的设计,并说明 Go 读取、分页、REV 与编码边界。498 收藏 -
围绕 Redis Streams 的 XREADGROUP 消费、XACK 确认、XPENDING 观察和 XAUTOCLAIM/XCLAIM 重试回收,给出带幂等、空闲阈值和死信边界的处理方案。267 收藏 -
用三个日活摘要演示 Redis HyperLogLog 的跨日去重计数,区分多键 PFCOUNT 与 PFMERGE,并解释旧目标污染、晚到数据、保留周期和近似误差。302 收藏 -
Redis CLIENT INFO 返回发出命令的当前连接信息。本文用 redis-cli 和 Go 示例读取 db、addr、laddr,说明它们分别代表当前逻辑库、客户端地址和 Redis 本地连接地址,并区分 CLIENT INFO 与 CLIENT LIST 的边界。100 收藏 -
MySQL 分区裁剪失效时,不要只看总耗时。本文从分区定义、日期条件和 EXPLAIN 的 partitions 字段入手,排查函数包裹、隐式转换与复合条件造成的全分区扫描,并给出可审计的半开区间改写方法。482 收藏 -
本文从连接、字段和转换三个层面说明 MySQL 会话时区如何统一,比较 TIMESTAMP 与 DATETIME 的语义,并给出 SET time_zone、CONVERT_TZ() 和连接池检查点的落地方法。170 收藏 -
围绕 MySQL DECIMAL 的字段位数、小数位、SUM/AVG 聚合和 ROUND 舍入位置,给出避免精度损失的设计方法与边界速查。256 收藏 -
MySQL 的 SAVEPOINT 可以把一次事务切成可回退的局部边界。本文用一个 InnoDB 订单场景说明如何保留前置写入、撤销保存点后的可选写入,并在 ROLLBACK TO SAVEPOINT 后继续提交。281 收藏 -
MySQL SKIP LOCKED 适合多个消费者从 InnoDB 任务表中批量抢占任务,但它只是不等待并排除已锁行,不能自动保证只执行一次。本文说明短事务领取、稳定排序、租约回收、重试和不适用场景。391 收藏 -
从 INFORMATION_SCHEMA.ROUTINES 读取 MySQL 存储过程的 DEFINER 与 SECURITY_TYPE,区分账号不存在、对象权限不足和调用方缺少 EXECUTE,再按身份生命周期选择补齐原账号、用专用定义者重建或改用 INVOKER。262 收藏