Go语言技术文章
-
Redis Stream 消费者异常退出后,未确认消息会留在 PEL。本文用 XPENDING 定位积压,再比较 XAUTOCLAIM 与 XCLAIM,给出带游标、批量和重试边界的可重复接管流程。345 收藏 -
MySQL 深分页变慢,通常不是 LIMIT 取几十行的问题,而是 OFFSET 让服务器先定位并丢弃前面的大量记录。本文用稳定联合排序和游标条件改写下一页查询,并说明如何用 EXPLAIN 判断索引是否真正接住了边界。405 收藏 -
Redis Lua 的优势是减少网络往返并保持原子性,代价是脚本运行期间会占用主线程。本文用有界循环、KEYS/ARGV、SLOWLOG、延迟历史和脚本缓存调用,给出一套可执行的收敛与拆分判断方法。216 收藏 -
MySQL JSON 多值索引适合优化数组成员筛选,但不能替代排序索引。本文用 MEMBER OF()、EXPLAIN 和生成列说明可用范围。463 收藏 -
Redis 8.8 的 XNACK 可以把消费组中尚未处理完的 Pending 消息立即交回,避免等待 idle-timeout。文章区分 XNACK、XACK 与 XAUTOCLAIM,并给出优雅退出、资源压力和回归检查的边界。332 收藏 -
MySQL 9.4 将 MD5() 和 SHA1() 标记为弃用,但旧 SQL 的迁移不能一概改成 SHA2()。本文按校验、业务指纹和口令存储区分用途,给出扫描、替换、长度核对与回归检查清单。298 收藏 -
Redis 8 和 8.8 改善了全量同步路径,但线上仍要围绕复制偏移量、复制积压缓冲区、副本延迟和故障切换建立观察清单。390 收藏 -
Redis 8.6 为 Streams 的 XADD 增加 IDMP 与 IDMPAUTO,帮助生产端在网络断开或进程重试时避免同一消息重复入流。本文拆开 pid、iid、Stream entry ID 与消费者组的边界,给出可验证的命令写法。494 收藏 -
MySQL 9.4 将 back_log 默认值提高到 10000,但它只负责短时连接请求的监听队列,不等于并发连接容量。本文从 back_log、max_connections 与 Linux socket 队列上限三层说明如何核对。488 收藏 -
Redis SCAN 不会把整个键空间一次性锁住,但完整遍历仍是 O(N) 工作。COUNT 只是单次工作量提示,配合游标、MATCH、TYPE 和渐进式巡检才能控制线上影响。375 收藏 -
Redis 8.10 的 XREADGROUP 在多流消费时新增 MAXCOUNT 与 MAXSIZE 参数。本文区分 COUNT 的单流上限和 MAXCOUNT 的总量预算,并说明 PEL、CLAIM 与响应大小如何一起检查。394 收藏 -
只需要多个 Redis 集合的去重总数时,不必先用 SUNION 拉回全部成员。Redis 8.10 的 SUNIONCARD 直接返回并集基数,并可用 LIMIT 或 APPROX 控制统计边界。490 收藏 -
MySQL 9.4 新增 server_memory 后,默认内存变量会怎样计算?本文用 SHOW VARIABLES 和启动参数拆开它与 temptable_max_ram、innodb_buffer_pool_size 的关系,并说明它为什么不是运行时内存上限。215 收藏 -
Redis 8.10 新增 LMOVEM 与 BLMOVEM。本文用 COUNT、EXACTLY、OBO、BULK 四个边界说明如何在非阻塞搬运和等待数据的队列消费者之间做选择。278 收藏 -
MySQL 9.7 的 VECTOR 列能保存向量,但原生向量索引和相似度检索仍在官方架构讨论中。本文拆开 InnoDB 二级索引、隐藏子表、事务一致性和当前落地边界,给出应用侧的稳妥接法。432 收藏