Go语言技术文章
-
Redis 的 XADD 默认会在 key 不存在时创建 Stream;NOMKSTREAM 可以禁止这次隐式创建,并用空返回提醒调用方先完成初始化。489 收藏 -
MySQL 复制延迟不能只看一个时间差。本文按 replica_parallel_workers、复制通道状态、协调线程和工作线程逐层分析,帮助定位并行度不足、单线程拖尾与重试错误。488 收藏 -
围绕 Redis Stream 的 XTRIM MINID 说明按 ID 截断的保留边界,区分精确与近似裁剪,解释 LIMIT 和消费组引用策略,并给出 XRANGE、XINFO 的复查方法。488 收藏 -
MySQL JSON_VALUE 默认会让路径不存在和 JSON null 都表现为 SQL NULL。本文用三类输入基线、ON EMPTY、ON ERROR 与 JSON_CONTAINS_PATH 说明如何区分 missing、json-null、present,并处理类型转换错误。488 收藏 -
本文用 MySQL ST_FrechetDistance 比较两条 LineString 轨迹的离散形状差异,说明显式顶点、SRS、单位参数、采样密度以及空值和异常输入的处理边界。488 收藏 -
MySQL NTILE 按排序把结果行尽量均匀地分入固定桶。通过十行样例说明余数、并列值、分区和外层筛选,并比较人数分桶与固定阈值分档的适用条件。487 收藏 -
定位 MySQL 的 Illegal mix of collations,不要先改全库字符集;应先对报错表达式两侧执行 COLLATION() 与 COERCIBILITY(),再检查列定义和连接变量。486 收藏 -
Redis WATCH 在被监视键发生并发修改时让 EXEC 放弃排队事务。用双连接示例说明空回复、连接绑定、重读重算与清理,并区分冲突、命令错误和断线结果未知。486 收藏 -
Redis 广播模式不会天然少发失效消息,它用前缀表替代逐键跟踪。要减少无关通知,应设计稳定且不重叠的键前缀,按客户端缓存域配置 PREFIX,并处理 NOLOOP、连接断开和读写竞态。484 收藏 -
Redis ZSET 按分数查询优先使用 ZRANGE ... BYSCORE,旧版本可用 ZRANGEBYSCORE。本文说明闭区间、开区间、无界范围、倒序、WITHSCORES、LIMIT 和 ZCOUNT 的写法,并解释如何控制返回量。484 收藏 -
Redis Search 可通过 FT.SEARCH 的 TIMEOUT 设置单次查询预算,并结合 search-timeout 默认值和 search-on-timeout 策略判断返回部分结果还是失败。483 收藏 -
MySQL WITH ROLLUP 会额外生成小计和总计行,不能只看 NULL 判断层级。本文用 GROUPING() 区分原始 NULL 与汇总 NULL,并给出稳定排序与 ONLY_FULL_GROUP_BY 边界。483 收藏 -
用 MySQL WINDOW 定义可复用的分组排序,同时生成排名与累计值,并说明 named window 的扩展、冲突和检查方法。482 收藏 -
Redis Cluster 迁移 hash slot 时,客户端不能把 ASK 和 MOVED 当成同一种重试信号。本文从 MIGRATING、IMPORTING 状态切入,说明 ASK 只重试当前命令、MOVED 才更新槽位映射,并给出带重试上限、多键约束和幂等性边界的客户端设计方法。481 收藏 -
MySQL BENCHMARK 只重复标量表达式的运行时,不会完整重复解析、优化器、锁与结果集传输。本文用排查式方法拆开两种耗时,说明如何设计可解释的测试。481 收藏