Go语言技术文章
-
Redis SCAN 的 COUNT 只是遍历工作量提示,不保证每轮返回固定数量。本文解释游标结束条件、MATCH/TYPE 过滤、空批次与重复键,并给出 COUNT 的场景化选择方法。191 收藏 -
Redis SORT_RO 会直接返回列表、集合或有序集合的排序结果,不使用 STORE 创建临时键。本文从 SORT 与 SORT_RO 的区别、LIMIT、BY、GET、ALPHA 和 Go 客户端接收方式说明如何选择只读排序。188 收藏 -
Redis Streams 消费组恢复超时 pending 消息时,可以给 XAUTOCLAIM 加 JUSTID,只接管并返回消息 ID,再按 ID 读取和处理,成功后用 XACK 清理 PEL。本文用一个小型恢复器说明游标、COUNT、0-0 和失效 ID 的处理边界。187 收藏 -
数据库 · MySQL | 1天前 | MySQL · 执行计划 · 查询优化 · mysql Hash Join 哈希连接 EXPLAIN FORMAT=TREE block_nested_loop join_buffer_size
MySQL 8.4 默认会在可行时采用哈希连接,但是否生效取决于连接条件、可用索引、block_nested_loop 控制项和内存边界。本文从常见慢查询症状出发,说明如何判断候选条件并用 EXPLAIN FORMAT=TREE 复查。185 收藏 -
MySQL 使用 INSERT ... ON DUPLICATE KEY UPDATE 做幂等写入时,怎样区分新增、实际更新和重复值未变化?本文结合 affected rows、LAST_INSERT_ID、CLIENT_FOUND_ROWS 与多唯一键边界给出判断方法。181 收藏 -
MySQL NDB 中的 RedoBuffer、--logbuffer-size 和 EventLogBufferSize 都带有“日志缓冲区”字样,但它们服务的对象、分配粒度、容量含义和重启要求不同。本文用配置片段和故障现象说明为什么不能混用指标。175 收藏 -
MySQL 批量导入遇到 CHECK 约束不应只看导入是否结束。本文用 LOAD DATA IGNORE 保留合法行,说明如何紧接着读取 SHOW COUNT(*) WARNINGS 与 SHOW WARNINGS,并把违规信息交给审计流程。170 收藏 -
Redis CF.EXISTS只回答元素是否可能存在,CF.COUNT则返回可能出现的次数;两者都基于Cuckoo Filter的概率结构,不是精确业务账本。本文用最小命令、返回边界、复杂度和工程指标说明如何选择。166 收藏 -
从迁移后才暴露的视图错误入手,按时间线、CHECK TABLE、SHOW CREATE VIEW 和底层表结构逐层定位失效依赖,再做反向确认。161 收藏 -
Redis MSETNX 会先判断给出的所有键是否都不存在:全部不存在时一次性创建并返回 1,只要有一个键已经存在就不写入任何键并返回 0。本文从故障现象、最小命令、Go 客户端分支和边界处理说明如何正确使用它。159 收藏 -
MySQL 字符集迁移到 utf8mb4 时,索引长度可能因每字符最大字节数、联合索引、行格式和页大小发生变化。本文给出迁移前盘点、索引字节估算、方案选择和隔离副本复查方法。156 收藏 -
MySQL 触发器中,OLD 始终只读,NEW 只有在 BEFORE 阶段才能赋值。本文用 INSERT、UPDATE、DELETE 和审计示例说明引用边界,解释 AFTER 中修改 NEW 为什么无效。155 收藏 -
用 MySQL Performance Schema 的语句摘要表按总耗时、平均耗时、调用次数和样例 SQL 找到最值得优先处理的慢 SQL,并识别摘要容量不足造成的 NULL 汇总行。150 收藏 -
Redis TDIGEST.CDF 是给定阈值查询累计比例,TDIGEST.QUANTILE 是给定分位数查询估计值。本文用同一份 t-digest 样本说明两者的输入输出方向、业务选择和空 sketch 边界。146 收藏 -
从脚本源码复制与脚本效果复制出发,解释 Redis Lua 写命令、AOF 和 replica 的传播边界,并给出可落地的确定性脚本写法。138 收藏