Go语言技术文章
-
MySQL 窗口函数的执行计划要从 EXPLAIN FORMAT=JSON 的 windowing 节点读起。本文用累计金额示例核对分区、排序和 frame,并解释 using_filesort、临时表与缓冲字段的排查边界。130 收藏 -
数据库 · MySQL | 2星期前 | MySQL · JSON · 数据校验 · JSON_SCHEMA_VALID CHECK 约束 MySQL JSON Schema JSON 结构校验 JSON_SCHEMA_VALIDATION_REPORT
用 MySQL 的 JSON_SCHEMA_VALID() 先判断 JSON 文档是否符合对象结构,再用 JSON_SCHEMA_VALIDATION_REPORT() 定位 required、类型和范围错误,并说明 NULL、非法 JSON、$ref 以及 CHECK 约束中的处理边界。293 收藏 -
Redis SINTERCARD 用于只返回多个集合的交集基数,本文说明 numkeys、LIMIT、空集合、缺失键和 WRONGTYPE 边界,并给出适合阈值判断与精确计数的最小写法。393 收藏 -
Redis keyspace notifications 不必接收全部键变更。需要拿到过期键名时使用 Ex 并订阅 __keyevent@0__:expired,需要拿到事件名时使用 Kx 并订阅 __keyspace@0__:*;同时注意 expired 触发延迟、Pub/Sub 断线丢失和 Cluster 节点范围。396 收藏 -
Redis HSETNX 用原子方式初始化 Hash 字段:字段不存在时写入并返回 1,已存在时保持原值并返回 0。本文用 redis-cli 和 Go 客户端拆解返回值、重复调用、错误类型与适用边界。191 收藏 -
Redis GEOSEARCH 可以以给定经纬度或已有成员为中心,用 BYRADIUS 按米、千米等单位筛选地理成员,再用 ASC、COUNT、WITHDIST 和 WITHCOORD 控制排序、数量与返回字段。278 收藏 -
Redis BLMOVE 可以在等待任务时,把列表元素原子转入 processing 列表。本文用两个列表拆开方向参数、超时返回、完成确认和超时回收,帮助你搭出可恢复的可靠队列。445 收藏 -
Redis LMPOP 按键顺序选择一个非空列表,再从指定端批量弹出。通过隔离样例解释 COUNT 不跨来源补齐、返回对象与空结果处理,以及优先级、集群同槽和消费失败恢复边界。473 收藏 -
Redis Streams 消费组中,XACK 只负责把已成功处理的消息从当前组的待确认列表移除。本文用最小命令说明确认时机、重复 ID、返回计数、PEL 查询和失败重试边界,避免把重复投递误判成重复确认。374 收藏 -
Redis XTRIM MINID 按完整消息ID下界裁剪Stream。通过独立样例区分精确、近似裁剪和消费组引用策略,说明时间窗口、残留记录与不可恢复删除的边界。379 收藏 -
Redis Streams 消费组里的消费者异常退出后,消息会留在 PEL 中等待确认。本文用 XAUTOCLAIM 按空闲时间接管消息,讲清游标、COUNT、JUSTID、XACK 和重复投递边界。215 收藏 -
Redis 7.4 及以上可以用 HTTL 查询 hash 字段的剩余秒数。本文从字段级过期的适用边界出发,讲清 FIELDS 参数、-1 与 -2 返回值、HPTTL 精度选择,以及怎样把查询结果接入清理和监控。354 收藏 -
Redis 7.4 及以上可以用 HPEXPIRE 给 hash 的指定字段设置毫秒 TTL。本文用 redis-cli 说明 FIELDS 语法、NX/XX/GT/LT 条件、HPTTL 检查方法,以及字段不存在和 key 级过期的边界。376 收藏 -
Redis EXPIRE 的 LT 选项只能保证新 TTL 更短,却会把没有过期时间的键视作无限 TTL。本文用 TTL、PTTL 和原子 Lua 脚本说明怎样只缩短已有 TTL,并处理返回值与并发边界。377 收藏 -
Redis ZRANDMEMBER 用于从 sorted set 随机读取成员。本文按单个成员、正负 COUNT、WITHSCORES、空键和返回顺序说明调用边界,帮助你把随机抽样与按分数查询区分开。375 收藏