Go语言技术文章
-
Redis Cluster 迁移哈希槽时,客户端可能收到正常响应、ASK、TRYAGAIN 或 MOVED。本文从 Key 是否已迁移出发,解释正确的重定向、槽位缓存与重试处理。397 收藏 -
Redis Streams 没有独立的 NACK 命令,本文用 PEL、XPENDING、XAUTOCLAIM 和 XACK 说明 pending 消息的观察、接管、重试与死信处理策略。397 收藏 -
介绍 MySQL 8.4 资源组隔离报表查询 CPU 的实用配置:创建低优先级用户组,按会话、线程或单条语句分配,核对线程归属,并说明它与只读副本、SQL 优化及硬配额的边界。396 收藏 -
Redis keyspace notifications 不必接收全部键变更。需要拿到过期键名时使用 Ex 并订阅 __keyevent@0__:expired,需要拿到事件名时使用 Kx 并订阅 __keyspace@0__:*;同时注意 expired 触发延迟、Pub/Sub 断线丢失和 Cluster 节点范围。396 收藏 -
两张结构一致的订单表合并查询时,UNION ALL 与 UNION 的差别不只是有没有重复数据,还会影响去重、临时表和排序路径。本文用可复现实验拆开两者的边界,并给出选择与验收方法。395 收藏 -
用 MySQL 窗口函数按分组生成稳定行号,再通过 CTE 或派生表筛选组内分页;同时说明 ROW_NUMBER、RANK、DENSE_RANK 的并列差异。395 收藏 -
MySQL CHECK 约束可以先用 NOT ENFORCED 保留定义,再在清理存量脏数据后切换为 ENFORCED。本文用一张订单表串起状态识别、违规扫描、修复隔离和 ALTER CHECK 切换的完整迁移路径。395 收藏 -
用 MySQL JSON_PRETTY 把对象、数组和标量整理成可读 JSON,说明缩进、NULL、非法 JSON、特殊字符和 JSON 列查询中的边界,避免把格式化文本误当成存储空间。395 收藏 -
Redis ZPOPMIN 可按最小分值原子取出并移除任务。通过原创样例说明任务ID、批量数量、并发领取与性能测量,并区分出队、业务完成和延迟执行。395 收藏 -
复合索引不一定必须从第一列开始过滤。本文用订单明细查询说明 MySQL 8.4 Skip Scan 如何跳过索引前缀、什么条件下能被优化器选中,以及如何用 EXPLAIN、统计信息和会话级开关验收,避免把一次命中误判成长期方案。394 收藏 -
Redis 8.10 的 XREADGROUP 在多流消费时新增 MAXCOUNT 与 MAXSIZE 参数。本文区分 COUNT 的单流上限和 MAXCOUNT 的总量预算,并说明 PEL、CLAIM 与响应大小如何一起检查。394 收藏 -
通过重复排序值和移动聚合案例说明 MySQL 窗口函数中 ROWS 与 RANGE 的结果差异,解释默认框架、peer rows、稳定排序键以及数值和时间范围的选择方法。394 收藏 -
用绝对毫秒时间戳设计 Redis ZSET 延迟队列的 score,并结合稳定任务 ID、原子领取、处理租约和幂等消费避免常见并发问题。394 收藏 -
若直接按原始字段GROUP BY进行分组,那么'Alice'和'alice'会被分为两组,这是因为collation决定了大小写敏感性。要实现合并分组,可通过LOWER()函数临时归一化,或者将字段的collation修改为_ai_ci。直接按原始字段 GROUP BY 会把 'Alice' 和 '393 收藏 -
数据库 · MySQL | 2个月前 | MySQL · 高可用 · 运维 · 性能排查 · mysql MySQL 8.4 复制延迟 replica_parallel_workers replication_applier_status_by_worker
MySQL 8.4 复制延迟不能只看 Seconds_Behind_Source。本文按接收、协调器、worker 和事务提交四段拆分现场,结合 SHOW REPLICA STATUS 与 Performance Schema 指标判断是大事务、并行度不足还是单个 worker 卡住。393 收藏