Go语言技术文章
-
用 EXPLAIN 判断索引选择问题,比较 USE INDEX、FORCE INDEX 与 MySQL optimizer hint 的作用范围、风险和验证方式。478 收藏 -
Redis pipeline 返回结果与发送命令一一对应,但单条命令错误、连接中断和事务失败的执行边界不同。本文用响应下标、批次和重试策略说明如何判断哪些命令已执行。478 收藏 -
MySQL 按部门、店铺或其他分组取排名第二的记录,关键是先用窗口函数生成组内名次,再由外层查询过滤。本文比较 ROW_NUMBER、RANK 和 DENSE_RANK 的并列边界,并补充稳定排序、过滤层级与 NULL 值处理。478 收藏 -
数据库 · Redis | 4星期前 | Redis · 缓存 · 运维排查 · redis TTL 过期事件 keyspace notification notify-keyspace-events
Redis 监听过期事件时,最常见的问题不是订阅代码,而是 notify-keyspace-events 没有打开 K 或 E、x 标志选错,或者把过期时间归零误当成事件已经发出。本文从配置、频道、TTL 验收和可靠性边界逐步排查。477 收藏 -
Redis 内存告警时,INFO memory 只能告诉你总量,MEMORY USAGE 才能把问题落到具体键。本文用 user:42:feed 和 members 两个真实键形态,拆解 SAMPLES 采样、集合成员核对与安全处置顺序。477 收藏 -
MySQL 用 LEFT JOIN 做关联统计时,应 COUNT 右表非空主键,并把右表筛选条件放进 ON,才能列出没有明细的主体并返回 0。477 收藏 -
Redis BITFIELD 适合把多个小整数压进一个字符串,但积分计数一旦选错位宽或溢出策略,结果可能悄悄回绕。本文用积分桶示例拆开 GET、INCRBY、OVERFLOW 的边界,并给出可重复的验收命令。476 收藏 -
Redis HRANDFIELD 适合从 Hash 中抽取随机字段。本文用 redis-cli 核对单字段、COUNT、WITHVALUES、负数 COUNT、空键和重复结果,避免把随机读取误当成去重抽样。476 收藏 -
Redis Hash适合字段级读取和局部更新,JSON字符串适合整对象缓存;如果必须按JSONPath原子修改文档,再评估RedisJSON。本文用Go示例梳理三种方式的边界、过期策略和并发取舍。476 收藏 -
Redis SORT_RO 是 SORT 的只读变体,适合在只读副本上完成列表、集合或有序集合排序。本文用商品候选列表拆开 LIMIT、GET、ALPHA 的结果边界,解释为什么 SORT 会被导向主节点,以及如何验证查询结果和复杂度风险。475 收藏 -
EXPLAIN 里的 rows 只是优化器估算要扫描的索引记录数,不等于最终访问数据页的成本。本文用订单列表查询拆开回表、覆盖索引和分页取数的关系,并给出可复现的验收方法。475 收藏 -
一个订单列表翻到很后面后明显变慢,问题通常不只在 LIMIT,而在于数据库仍要跳过大量记录并回表。本文用游标式分页、稳定排序和覆盖索引改造一个列表接口,并用 EXPLAIN 核对执行路径。475 收藏 -
旧表启用 MySQL CHECK 约束前,先用反向查询找出历史违规数据,按业务规则分批修复或隔离,再以 NOT ENFORCED 暂存命名约束,确认全表通过后切换为 ENFORCED。475 收藏 -
Redis CLIENT PAUSE 会在指定毫秒内暂停客户端命令。本文用最小演练解释 WRITE、ALL、TIMEOUT 与 CLIENT UNPAUSE 的差异,并给出主从切换前后的检查顺序。474 收藏 -
Redis 向量检索不是把 KNN 数字改大就能得到稳定结果。使用 FT.SEARCH 时,应先明确过滤条件、DIALECT 2 和 HYBRID_POLICY 的关系,再根据候选规模选择 ADHOC_BF 或 BATCHES,并检查距离排序是否符合业务语义。474 收藏