Go语言技术文章
-
Redis LMPOP 按键顺序选择一个非空列表,再从指定端批量弹出。通过隔离样例解释 COUNT 不跨来源补齐、返回对象与空结果处理,以及优先级、集群同槽和消费失败恢复边界。473 收藏 -
MySQL WITH RECURSIVE 查询层级数据时,真正需要防的是环路和无界展开。本文用组织架构示例拆开终止条件、递归深度上限、路径去重和结果核对。472 收藏 -
对比 Redis BITFIELD 的 WRAP、SAT、FAIL 溢出策略,说明位宽边界、策略作用域、返回值处理和循环计数、封顶计量、严格配额等选型场景。471 收藏 -
MySQL GROUP_CONCAT 结果被截断时,先检查 group_concat_max_len,再按会话、全局和持久配置选择修复方式,并排除字节长度、排序、NULL 与 max_allowed_packet 等边界问题。470 收藏 -
Redis 同时开启 RDB 和 AOF 后,常规重启会优先使用 AOF 重建数据集;RDB 主要承担紧凑备份和较快恢复,本文按数据窗口、启动速度与重启前检查说明如何做取舍。470 收藏 -
MySQL CTE 不一定物化。本文用 MERGE 与 NO_MERGE 对照 SQL,比较中间结果复用和生成成本,说明聚合与派生表的限制,以及执行计划中的性能判断方法。470 收藏 -
子查询中用COUNT/SUM配WHERE易出错,需显式关联外层字段;存在性判断优先用EXISTS;多状态求和宜用CASE WHEN+SUM;性能差时应检查执行计划并加索引。子查询里用 COUNT 和 SUM 配 WHERE 容易出错 在子查询中直接写 COUNT(*) 或 SUM(column) 并469 收藏 -
Redis XREADGROUP 使用 BLOCK 参数控制没有新消息时的等待时长:BLOCK 2000 表示最多等待 2 秒,BLOCK 0 表示无限等待;读取待处理消息时使用非 > 的 ID,BLOCK 不会生效。469 收藏 -
整理 MySQL GTID 复制切换前的核对方法,区分接收集合与执行集合,用 GTID_SUBSET 和 GTID_SUBTRACT 判断候选副本是否覆盖主库事务,并保留回退依据。469 收藏 -
MySQL NDB Disk Data 中,表空间负责组织数据文件并绑定日志文件组,日志文件组负责管理撤销日志文件。本文用创建顺序和 FILES 表把两者的关系、文件落点与排查方法讲清楚。469 收藏 -
MySQL 主从延迟不能只看 Seconds_Behind_Master。本文从复制线程状态、Relay_Log_Pos、Performance Schema 事务等待和大事务四个层次排查,并给出可回退的处理顺序。468 收藏 -
用 Redis Functions 封装单 SKU 库存扣减与成功回执,讲清重复请求、库存不足、TTL、Cluster 同槽、函数部署和故障恢复的幂等边界。468 收藏 -
用 Redis Functions 与 Sorted Set 实现原子滑动窗口限流,讲清函数库部署、FCALL 调用、v1/v2 并行版本、配置切换回滚,以及唯一请求标识、时钟和性能边界。468 收藏 -
Redis AOF 重写会让旧文件、新 base 和重写期间增量短暂共存。本文用 INFO persistence 与实际目录采样,给出可复用的磁盘峰值估算式和发布前检查清单。468 收藏 -
Redis Functions 的替换单位是完整 library,而不是单个函数。本文用稳定函数名、FUNCTION LOAD REPLACE、FUNCTION LIST 和整库回滚建立一套可追踪的版本发布方法,并说明集群节点同步边界。468 收藏