Go语言技术文章
-
Redis TOPK.ADD 返回被挤出元素并不是命令失败,而是 Top-K 草图发生了替换。本文说明如何按输入位置解释 null 与被挤出项,如何更新榜单投影,以及为什么精确排名必须维护旁路数据。332 收藏 -
MySQL CREATE TABLE LIKE 会复制源表的列属性和索引,并保留生成列、表达式默认值与 CHECK 约束;但外键及部分目录表选项不会复制。本文用最小 SQL 说明保留边界,并给出结构核对方法。331 收藏 -
sys.schema_unused_indexes 只能说明当前统计周期没有记录到索引事件,不能直接等同于业务永远不使用。本文给出从观察周期、业务 SQL、执行计划到 invisible index 灰度验证的安全删除流程。327 收藏 -
对比 Redis 普通 Pub/Sub 与分片 Pub/Sub 的传播范围、命令、集群路由和可靠性边界,帮助按全局广播或业务 shard 选择方案。327 收藏 -
Redis COPY 的 REPLACE 会整体替换已存在的目标 key,而不是合并字段。本文用返回值、对象边界、TTL、复杂度和集群槽位说明如何安全判断复制结果。325 收藏 -
介绍 MySQL EXPLAIN FORMAT=JSON 中 cost_info 的层级、字段含义和 JSON_EXTRACT 提取方法,说明如何结合访问类型、扫描行数与版本边界判断查询优化方向。325 收藏 -
Redis 过期键并不是只靠一个定时器逐个删除:客户端访问到已过期键时会触发访问时处理,后台也会周期性抽样清理。本文用 TTL 的正数、-1、-2 返回值建立排查顺序,并说明主动过期、访问时删除和时间精度的边界。324 收藏 -
Redis Streams 消费者组积压要先区分 lag 与 pending。本文用 XINFO、XPENDING、XAUTOCLAIM、XACK 和 XTRIM 组织认领、有限重试、死信与安全裁剪,并说明不同 Redis 版本的边界。324 收藏 -
Redis 客户端缓存要解决的不是如何保存本地副本,而是数据变化后如何可靠地让副本失效。本文对比默认 Tracking 与 BCAST 广播模式,给出 RESP3 单连接、RESP2 REDIRECT 双连接、前缀范围和断线处理的落地选择。323 收藏 -
Redis TDIGEST.QUANTILE 可以在一次命令中传入多个 0 到 1 的分位点,并按输入顺序返回对应的浮点估算值。本文说明批量查询写法、返回数组对齐规则、0 和 1 的边界含义,以及空 sketch 和非法参数的处理方式。323 收藏 -
Redis HINCRBYFLOAT 适合原子递增 Hash 中的浮点字段,但返回的是更新后的数值文本,不是固定小数位格式。本文解释返回格式变化、有效数字边界、非法浮点输入,以及应用层如何负责展示格式化。321 收藏 -
Redis Cluster 多键操作遇到 CROSSSLOT 时,应使用稳定业务 ID 设计哈希标签,让相关 key 进入同一槽位,同时避免固定标签造成热点。本文给出 key 命名、Go builder、槽位核对和扩容边界。320 收藏 -
迁移 MySQL utf8mb4 排序规则前,系统检查字符字段、索引、唯一键、外键、生成列与尾部空格语义,提前发现重复值和兼容性风险。319 收藏 -
从只读视图部分调用者失败的现象入手,按创建时、引用时和函数执行时拆解权限检查,比较 SQL SECURITY DEFINER 与 INVOKER 的差异,并给出查看定义、选择上下文和防复发的处理顺序。314 收藏 -
Redis EXPIRE 的 GT 只接受比当前 TTL 更长的新过期时间,LT 只接受更短的时间;结合 TTL 返回值,可以安全实现缓存续期和过期收紧。313 收藏