Go语言技术文章
-
从递归终止条件、循环数据和 cte_max_recursion_depth 三个方向排查 MySQL CTE 超过默认深度的问题,并给出可回滚的保护配置。270 收藏 -
对比 Redis Pub/Sub 与 Streams 的事件可靠性,说明在线广播、持久化、消费组、XACK、PEL 和故障恢复的边界,帮助按业务是否允许丢失选择消息模型。270 收藏 -
INSERT IGNORE 不只是忽略重复键,它还可能把数据截断、非法值等错误降级成告警。本文用可复现实验拆开行为边界,并给出导入前后检查清单。269 收藏 -
Redis 的 LASTSAVE 只能说明最近一次成功写盘时间。本文用 BGSAVE、INFO persistence 和时间戳变化,判断 RDB 快照到底是成功、进行中还是失败。269 收藏 -
Redis MEMORY DOCTOR 给的是启发式建议,不是最终结论。本文把提示拆成峰值、分配器、进程和连接缓冲四层,并说明如何结合 INFO memory、MEMORY STATS 与绝对字节数确认根因和处理边界。269 收藏 -
Redis Hash 可以把多个业务计数放在同一个 key 下,再用 HINCRBY 按 field 分别累加。本文说明首次写入、返回值、读取方式、非整数值和 64 位整数边界。268 收藏 -
Redis 发现疑似大 key 后,先用 TYPE、OBJECT ENCODING 和 MEMORY USAGE 分层确认数据类型、内部编码与实际内存,再决定拆分、限流或迁移,避免只看字符串长度误判。267 收藏 -
Redis Stream 多消费组使用 XTRIM 时,KEEPREF 保留 PEL 引用,ACKED 只删除所有消费组都确认过的条目。本文用命令、边界和检查清单说明如何选择。267 收藏 -
replica-read-only 只会拒绝客户端直接向 Redis 副本写入,不会让异步复制变成强一致;读后写场景仍需主节点读取、WAIT 与明确的路由策略。267 收藏 -
Redis 8.4 为 XREADGROUP 增加 CLAIM 选项,可在一次读取中优先接管达到空闲阈值的 Pending 消息,再读取新消息。本文用订单通知流说明 COUNT、BLOCK、重试计数和 XACK 的生产边界。266 收藏 -
应用用一条 INSERT ... ON DUPLICATE KEY UPDATE 保存业务唯一键时,新增行和命中旧行都需要返回同一个主键。本文用 account_code 唯一键演示 LAST_INSERT_ID(id) 的写法、连接级返回边界、并发验收与不适合使用的场景。266 收藏 -
Redis GETRANGE 按字节下标截取字符串或二进制值,负数下标从末尾计算,越界不会报错而是按可用范围返回。本文用 session:raw-token 示例核对起止位置、空结果和中文字节边界。266 收藏 -
Redis Sorted Set 按字典序分页的关键是让成员使用同一 score,再用 ZRANGE BYLEX 配合 LIMIT 和排他游标读取下一页。本文说明边界符、兼容命令、排序规则与并发写入限制。265 收藏 -
MySQL 给大表加索引时,ALGORITHM 和 LOCK 决定了变更方式与并发影响。本文用 ALTER TABLE 说明如何预判支持范围、处理元数据锁,并在上线前做可回退的核对。264 收藏 -
MySQL 联合索引不是把多个单列索引简单拼在一起。以 (tenant_id,status,created_at) 为例,查询跳过第一列时通常失去按该联合键直接定位的能力,但最终是否使用索引仍要看谓词、选择性、统计信息和优化器成本。本文用 EXPLAIN 给出判断方法。264 收藏