Redis技术文章
-
Redis EXPIRE 的 NX 只在 key 没有过期时间时设置 TTL,XX 只在 key 已有过期时间时设置 TTL。本文用 TTL、返回值和 redis-cli 示例说明两者的选择边界。153 收藏 -
Redis 写入缓存时用 SET 的 EX 或 PX 同步设置值和 TTL,读取并续期时用 GETEX,避免 GET、SET、EXPIRE 拆分造成竞态;本文还区分单命令原子性与多步业务条件。303 收藏 -
Redis LPOS 的 rank 决定从头部还是尾部计数,maxlen 决定最多比较多少个列表元素;两者组合时,返回位置仍是原列表的零基索引。156 收藏 -
BLMOVE 阻塞超时不会移动任何元素,因此不需要回滚。真正需要补偿的是任务已经进入 processing 后业务失败或 worker 崩溃的场景。本文用 ready、processing、ack 和重试边界设计可靠队列。111 收藏 -
Redis Client Tracking 不发失效通知时,重点检查物理连接、RESP2/RESP3 通知模型、REDIRECT 目标、跟踪模式和连接重连。439 收藏 -
Redis Cluster 的多键命令要求相关键位于同一 hash slot。本文用 hash tag 设计键名,再用 CLUSTER KEYSLOT 排查空标签、嵌套花括号和模板不一致等问题。358 收藏 -
Redis WATCH 事务被放弃时,不要盲目重试所有错误。本文用 Go 示例说明如何识别 TxFailedErr、保持事务连接、设置退避上限并完成反向验证。230 收藏 -
Redis Pipeline 出现单条错误时,不要只看批次级 Exec 返回值。本文用 go-redis 示例说明如何按命令下标定位失败项,区分 WRONGTYPE、redis.Nil 与连接错误,并判断何时需要 TxPipeline。305 收藏 -
对比 Redis Lua EVAL/EVALSHA 与 Redis 7+ Functions 的生命周期、配置方式和排查路径,处理 NOSCRIPT、函数注册、CROSSSLOT 与 BUSY 等常见问题。177 收藏 -
Redis 7.4 起可用 HEXPIRE 和 HPEXPIRE 为 Hash 字段设置独立 TTL。本文从版本确认、字段写入、TTL 返回值到 HSET 覆写陷阱,给出一套可执行的配置与排查方法。488 收藏 -
本文用 GEOSEARCH 演示 Redis 地理距离筛选,说明 FROMLONLAT、BYRADIUS、ASC、COUNT、WITHDIST 和 WITHCOORD 的组合方式,并排查空结果、单位误读、坐标顺序和 ANY 截断问题。242 收藏 -
Redis HyperLogLog 近似去重异常时,先按统计窗口检查 key 和 PFADD 输入,再区分 PFCOUNT 单 key、多 key 并集与 PFMERGE 持久合并,最后用 TYPE、TTL 和误差边界判断结果是否可用。284 收藏 -
Redis BITFIELD 默认使用 WRAP;本文对比 WRAP、SAT、FAIL 的溢出语义,并从位宽、offset、作用范围和返回 nil 四个方向排查策略不生效。473 收藏 -
Redis Sorted Set 按字典序查询时,关键是让成员使用相同 score,再用 ZRANGE BYLEX 配置包含或排除边界;本文给出范围写法、分页和空结果排查清单。461 收藏 -
Redis Streams 消费者崩溃后,使用 XPENDING 确认 PEL 状态,再合理设置 min-idle-time、游标和 COUNT,通过 XAUTOCLAIM 接管超时消息,最后以 XACK 完成确认。287 收藏