Go语言技术文章
-
解释 Redis WATCH 监视键在 EXEC 前被修改时为什么返回 nil,并用双客户端示意、有限重试和边界清单处理乐观锁冲突。159 收藏 -
Redis 8.0 起可用 Vector Set 原生保存向量。本文用 VADD 写入元素与属性,用 VSIM 按查询向量或已有元素检索,并比较 VALUES/FP32、Q8/NOQUANT/BIN、EF 与 FILTER 的选择边界。158 收藏 -
Redis WAIT 用于等待当前连接此前写命令被副本确认,但超时后仍会返回已确认的副本数。本文用 SET、WAIT 和 INFO replication 演示如何判断返回值、区分复制确认与强一致,并处理连接复用和超时边界。157 收藏 -
MySQL REGEXP_LIKE 匹配结果不稳定时,先拆开字符集、排序规则、大小写和反斜杠四个边界。本文给出一套可复现的排查 SQL、修复写法与验收清单。157 收藏 -
Redis Cluster 扩缩容或 reshard 时,MOVED 和 ASK 都可能出现在客户端日志里,但它们代表的路由语义不同。本文从 slot 所有权、MIGRATING/IMPORTING 状态和客户端拓扑缓存出发,说明如何判断重定向是否正常以及该刷新什么。157 收藏 -
Redis HyperLogLog 能用很小的空间估算唯一元素数量,但 PFCOUNT 的结果存在近似误差且无法提供成员明细。本文说明误差如何放大到计费金额,并给出趋势统计与精确账单分层、命名、抽样对账和回退检查清单。156 收藏 -
MySQL Invisible Index 不需要先删索引就能做灰度验证。本文从索引状态、默认优化计划、会话级 use_invisible_indexes 和性能证据四个方面说明配置、对照与回滚方法。156 收藏 -
Redis LPOS 的 rank 决定从头部还是尾部计数,maxlen 决定最多比较多少个列表元素;两者组合时,返回位置仍是原列表的零基索引。156 收藏 -
Redis 8.8 带来原生 Array 数据结构,适合滚动窗口、按索引读取和范围聚合。本文用一组最小命令验证它与 List 的差异,并给出从 List 迁移前应检查的读写边界、客户端支持和回滚办法。154 收藏 -
Redis AOF 重写不是只写一个新文件:重写期间旧文件、新 base AOF 和增量写入可能同时占用空间。本文用 INFO persistence、du、df 和历史峰值建立提前发现磁盘不足的检查清单。154 收藏 -
Redis EXPIRE 的 NX 只在 key 没有过期时间时设置 TTL,XX 只在 key 已有过期时间时设置 TTL。本文用 TTL、返回值和 redis-cli 示例说明两者的选择边界。153 收藏 -
MySQL 8.x 可通过 innodb_redo_log_capacity 在线调整 redo 总容量。本文说明如何按高峰写入速率估算容量,区分配置值、已生效容量与物理占用,并用 resize、LSN 和逻辑大小状态判断调整是否完成。153 收藏 -
数据库 · Redis | 1个月前 | Redis · 内存管理 · 故障排查 · 缓存运维 · redis OOM CLIENT NO-EVICT maxmemory-clients noeviction 客户端驱逐
Redis 写入报 OOM 时,先区分数据键无法淘汰与客户端输出缓冲触发驱逐。本文用 CLIENT NO-EVICT、maxmemory-clients、maxmemory-policy 和 INFO memory 还原两条故障链,给出核对命令、控制连接保护和回退边界。152 收藏 -
批量 INSERT 成功后,mysql_affected_rows() 只能给出影响行数,mysql_info() 还能返回 Records、Duplicates、Warnings 等细节。本文用 MySQL 8.4 C API 示例说明两者如何配合,以及 CLIENT_FOUND_ROWS 什么时候会改变判断。152 收藏 -
Redis 连接池耗尽不一定是池太小。本文用 go-redis PoolStats、请求耗时和 Redis SLOWLOG 交叉判断池等待、慢命令与连接未归还,并给出修复顺序。152 收藏