Go语言技术文章
-
本文围绕 MySQL 派生条件下推,说明如何用 optimizer_switch 控制会话级默认行为,再用查询级 hint 精确覆盖单条语句,并结合 EXPLAIN 识别适用边界。358 收藏 -
Redis 8.0.0 及以上可用 HGETEX 在读取 Hash 字段的同时更新过期时间。本文说明 EX、PX、EXAT、PXAT、PERSIST 和 FIELDS 的组合方式,并用 HTTL 区分字段仍在、无 TTL 与已经过期。357 收藏 -
Redis SCAN 不是快照查询:本文用游标结束条件、动态键变化、重复消费、MATCH 与 COUNT 说明如何判断遍历结果并设计安全处理策略。357 收藏 -
Redis BITFIELD 可以把多个不同位宽的有符号或无符号整数放进同一个 String,本文用 redis-cli 说明 GET、SET、INCRBY、# 偏移和 WRAP、SAT、FAIL 溢出策略的选择。354 收藏 -
Redis TS.DELETERULE 删除的是源时间序列上的压缩规则,不会删除目标时间序列或历史聚合样本。本文说明参数方向、TS.INFO 排查、Redis Cluster hash slot 和后续清理动作。354 收藏 -
Redis STRLEN 返回的是字符串值的 UTF-8 字节长度,不是中文字符数。本文用 ASCII、中文、空字符串和缺失键对照说明返回 0 的边界,并给出客户端解码计数的处理方案。348 收藏 -
XACK 只清理指定消费组的待处理记录,不删除流正文。本文给出 Redis Streams 消费与确认示例,说明返回零、重复确认、失败重试及超时认领的处理边界。347 收藏 -
MySQL 存储过程需要把参数校验失败和底层异常清楚地交给调用方时,可以用 SIGNAL 设置 SQLSTATE、MESSAGE_TEXT 与 MYSQL_ERRNO。本文从最小示例、handler、诊断区和排查边界说明怎样建立稳定的错误契约。347 收藏 -
MySQL 分区表是否真的减少了扫描范围,不能只看查询能否返回结果,而要看 EXPLAIN 的 partitions 列。本文用 RANGE 分区示例说明如何对照分区定义、WHERE 条件和执行计划,区分命中一个分区、命中多个目标分区与没有发生分区裁剪。347 收藏 -
澄清多表UPDATE目标行只更新一次的规则,给出按完整业务键聚合和确定性选择最新记录的SQL,区分来源冲突、任务重试与并发封批问题。342 收藏 -
Redis EXPIRE 的 NX 只在键没有过期时间时设置,XX 只在已有过期时间时更新。掌握键不存在、持久键和已有 TTL 的返回值边界,就能避免初始化或续期时覆盖原有过期策略。342 收藏 -
MySQL JSON_OVERLAPS 用于判断两个 JSON 是否共享数组元素、完整对象键值对或相等标量。本文通过数组、对象、NULL 和类型差异案例说明返回 1、0、NULL 的边界,并对照 JSON_CONTAINS 的 AND 语义。341 收藏 -
Redis JSON.SET 可以通过 JSONPath 只替换嵌套对象中的一个字段,不会覆盖同一文档的其它成员。本文用最小命令说明路径写法、末级字段创建、XX 条件和返回值判断。340 收藏 -
Redis TOPK.COUNT 可以一次读取多个候选项在 Top-K 草图中的近似计数。本文按运行手册说明命令格式、数组对应关系、未知项返回 0、误差边界和排查方式,并提醒该命令已被官方标记为弃用。340 收藏 -
Redis ZREMRANGEBYLEX 按 Sorted Set member 的字典序删除范围,不会因为 min 和 max 写反而自动倒序。本文解释同分值约束、[ 与 ( 的边界含义,并用 ZRANGE BYLEX、ZLEXCOUNT 和删除命令组成一个可核对的小清理流程。339 收藏