Go语言技术文章
-
联合索引列顺序不能只看区分度。本文用订单查询逐项判断等值前缀、首个范围列、排序方向与稳定分页,再结合 key_len、Using filesort 和 EXPLAIN ANALYZE 验证设计。500 收藏 -
Redis Stream 消费组中的消息如果长时间没有 XACK,可以通过 PEL、XPENDING 和 XCLAIM 转给新消费者。本文说明超时认领、幂等处理、XACK 闭环与重复认领边界。500 收藏 -
MySQL 隐形索引可用于观察查询失去某条索引后的影响,并保留恢复可见性的方式。本文给出 MySQL 8.4 示例,说明负载基线、执行计划、退化信号、恢复命令,以及维护成本、约束和物理删除的区别。500 收藏 -
从事务快照建立时机入手,解释 MySQL 默认 REPEATABLE READ 下普通 SELECT 为什么看不到其他会话刚提交的数据,并给出提交事务、READ COMMITTED 与锁定读的选择边界。499 收藏 -
Redis Stream 的 NOACK 让新读取消息不进入 PEL,却不能保证业务成功。本文给出消费组命令和两组对照示例,区分读取、成功与 Pending 计数,说明性能测量方法及丢失容忍边界。498 收藏 -
MySQL 可用 JSON_OVERLAPS 判断两个 JSON 数组是否至少共享一个元素。本文以标签筛选说明数字与字符串、嵌套数组、SQL NULL 和空数组的区别,并给出只读 SQL 示例与查询回退思路。498 收藏 -
Redis Sentinel 故障转移后,不要只凭一个地址判断成功。本文用当前主节点地址、实例角色和配置纪元三类信息,说明怎样确认切换已经完成。496 收藏 -
MySQL 分区键不能只看字段是否有索引,还要同时看查询能否触发分区裁剪、数据是否按时间维护,以及主键和唯一键是否包含分区列。本文用 RANGE、COLUMNS、LIST、HASH 和 KEY 对比一个可落地的选择顺序。495 收藏 -
Redis 7.0 及以上可用 no-writes 注册只读函数,再通过 FCALL_RO 调用并路由到只读副本。本文说明函数声明、numkeys 参数边界、KEYS/ARGV 划分、常见拒绝原因与复制延迟取舍。495 收藏 -
Redis BITPOS 在参数末尾加 BIT 后,会把 start 和 end 当作包含端点的位范围,并返回匹配位的绝对编号。本文说明 BYTE 与 BIT 的区别、首个置位点查询和 -1 返回值的处理方式。495 收藏 -
用 HEX(WEIGHT_STRING(...)) 观察 MySQL 排序规则生成的二进制权重,区分字符字符串与二进制字符串,并掌握 AS CHAR、AS BINARY 的长度边界。492 收藏 -
通过MSET和LMOVE示例说明Redis COMMAND GETKEYS如何从完整命令提取键名,并对比GETKEYSANDFLAGS的用途标志、客户端参数边界与接入注意事项。492 收藏 -
讲清 Redis Cluster 中多 key Lua 的同槽条件:用 hash tag 设计相关 key,正确区分 EVAL 的 KEYS 与 ARGV,并用 CLUSTER KEYSLOT 做发布前检查。491 收藏 -
Redis SORT_RO 的 GET 不是再次执行查询,而是按排序结果中的成员替换键名模式,读取外部对象字段。本文用 order:ids、order:item:* 和 order:weight:* 说明 BY、GET、GET #、LIMIT 以及缺失字段的返回边界。491 收藏 -
Redis Array 用整数索引保存可稀疏分布的字符串,随机访问不受逻辑长度影响。本文通过 ARSET、ARGET、ARLEN、ARCOUNT 与 ARSCAN 说明建模方式、读取边界和兼容性取舍。490 收藏