Go语言技术文章
-
用 Redis ZADD 的 NX、GT 与 CH 选项设计可重复执行的排行榜更新流程,处理同分、回退、重复消息和降级查询等常见边界。374 收藏 -
Redis SREM 的返回值就是本次实际从 Set 中删除的成员数量,不包含不存在的成员。本文用命令行和 Go 客户端说明如何读取这个数字,并区分 0 个命中、键不存在与类型错误。374 收藏 -
Redis Streams 消费组中,XACK 只负责把已成功处理的消息从当前组的待确认列表移除。本文用最小命令说明确认时机、重复 ID、返回计数、PEL 查询和失败重试边界,避免把重复投递误判成重复确认。374 收藏 -
解释 MySQL 同表 OR 条件何时可能采用 Index Merge,带你从 EXPLAIN 的 type、key、rows、Extra 判断 union 与 sort_union,并通过单语句对照实验评估是否值得保留。373 收藏 -
Redis 8.6 Streams 通过 IDMP 和 IDMPAUTO 支持幂等生产。本文区分生产去重与消费副作用,说明 pid、iid、有限追踪窗口、配置变更及旧客户端兼容边界,并提供原样重试示例。373 收藏 -
Redis Cluster 的多 key 命令要求相关 key 位于同一个 hash slot。本文解释 hash tag 的花括号规则,用 CLUSTER KEYSLOT 检查键名,并说明 CROSSSLOT、MOVED、TRYAGAIN 与热点风险的区别。372 收藏 -
数据库 · MySQL | 3星期前 | MySQL · InnoDB · 数据库运维 · mysql 死锁 错误日志 events_statements_history_long data_lock_waits Performance Schema
MySQL 可用错误汇总表统计 1213,用语句历史表定位受害 SQL,用锁表观察当前阻塞;完整死锁图仍应写入错误日志长期留存。372 收藏 -
用 MySQL sys.schema_index_statistics 按读取延迟和读取行数定位高开销索引,解释字段含义、排序方法、写入影响以及 Performance Schema 统计边界。372 收藏 -
当相关子查询仅做聚合且分组依据与外层表主键/唯一键一致时,可用窗口函数替代;需确保PARTITION BY与WHERE条件严格对齐、处理NULL、添加唯一性排序兜底,并通过执行计划验证性能。什么时候该用窗口函数替代相关子查询 要是相关子查询只是进行聚合计算(像 COUNT、A VG、MAX 这些),371 收藏 -
MySQL 开启 ONLY_FULL_GROUP_BY 后,ANY_VALUE 可以解决哪些非聚合列报错?本文用订单分组示例说明它的语义、风险边界和核对方法。371 收藏 -
Redis Cluster 执行 Lua 脚本时,key 未显式声明或多个 key 不在同一 hash slot 都可能触发跨槽错误。本文用 KEYS、ARGV 和 hash tag 设计一套可落地的避免方式。371 收藏 -
Redis Stream 消费组确认消息应放在业务处理成功之后。本文解释 XREADGROUP、PEL 与 XACK 的关系,分析确认返回 0、积压和消费者故障场景,并给出 XPENDING、XAUTOCLAIM 的处理方式。371 收藏 -
Redis Lua 脚本在单线程执行模型下可能让后续请求排队。本文从接口延迟突然升高的现象出发,用 SLOWLOG、LATENCY 和脚本耗时证据定位阻塞来源,说明超时边界、停止动作与恢复后的反向验证。370 收藏 -
Redis t-digest的COMPRESSION用于权衡分位数估算精度与内存。本文通过两种配置的命令示例,说明相同样本、INFO内存记录、分位数基线及空摘要的处理边界,避免套用固定误差承诺。370 收藏 -
Redis 出现偶发慢响应时,LATENCY DOCTOR 能把采样到的延迟事件整理成可读报告。本文从阈值设置、事件记录、报告解读和复核动作入手,区分服务端阻塞、慢命令与网络往返。369 收藏