Redis技术文章
-
使用 XPENDING 摘要查看 Redis 消费者组未确认消息数量,区分 pending、lag 与流长度,并通过消费者分布和有限明细排查积压,避免将查询错误、空值或明细行数误当总量。123 收藏 -
Redis 设置了 EXPIRE 后,键并不一定在到点瞬间从内存消失。本文从 TTL 读数、访问触发的惰性删除和后台主动过期检查入手,说明为什么会看到过期键,以及怎样用命令判断问题究竟在观察方式、访问路径还是过期清理压力。122 收藏 -
Redis 8.10 的 BLMOVEM 可以阻塞等待并批量搬运列表元素,但 COUNT 与 EXACTLY 的唤醒条件完全不同。本文从目标列表间歇性断粮的故障现象出发,拆清 timeout、OBO、BULK、事务与 Lua 场景的边界,并给出修复选择和上线检查清单。122 收藏 -
用 Redis MODULE LIST 盘点实例加载的扩展模块,核对 name、ver、path 等返回字段,并给出上线前后的风险检查方法。121 收藏 -
Redis 删除大键时,DEL 会同步承担复合值的释放成本,UNLINK 则先摘除键并把内存回收放到后台线程。本文按负载、键大小和监控方式给出选择清单。120 收藏 -
Redis 7.0 引入的 SPUBLISH 和 SSUBSCRIBE 会把消息限制在频道对应的集群分片内,适合降低普通 Pub/Sub 的跨节点扩散。本文从频道哈希、订阅连接和返回值入手,给出一组可复查的消息验收方法。119 收藏 -
Redis RDB 与 AOF 的选择应围绕数据资产、允许丢失窗口和恢复耗时展开。本文比较快照、同步策略与重写边界,说明隔离历史备份为何不可替代,并给出只读检查和恢复演练思路。119 收藏 -
Redis WATCH 事务是否放弃,要看 EXEC 的最终返回值:数组表示队列已执行,nil 或 null 表示监视键在执行前变化而导致事务中止。本文用 redis-cli 和 go-redis 区分竞争失败、命令错误与可控重试。118 收藏 -
Redis 写入后再执行 EXPIRE 会留下异常窗口。本文用 SET NX EX 把不存在条件、值和过期时间放进一条命令,并说明 OK、空返回、TTL、PX 与 KEEPTTL 的边界。117 收藏 -
Redis HSETNX 适合多实例按字段补齐默认配置。本文说明字段存在性、0与1的返回含义,与HSET、SET NX的选择差异,并界定超时、过期及后续修改带来的边界。117 收藏 -
Redis 更新值时,SET、SET KEEPTTL、HSET、PERSIST 和 EXPIRE 对已有 TTL 的影响不同。本文用命令对照、事务示例和回归清单区分保留、重置与删除过期时间的边界。116 收藏 -
Redis GEOSEARCH 可以按圆形或矩形范围查询附近地点。本文说明中心点、范围、排序、数量和返回字段的选择边界。116 收藏 -
Redis tcp-keepalive 负责让 TCP 层探测失联对端,timeout 负责回收 Redis 普通客户端的空闲连接。本文按故障症状比较两者,说明 CONFIG GET、CLIENT LIST、CONFIG SET 与 CONFIG REWRITE 的使用边界。116 收藏 -
Redis LMPOP 可以从多个 List 中选择一个非空队列并批量取出元素,但它不是轮询器。本文核对 LEFT、RIGHT、COUNT、空结果和多键顺序,给出多队列消费的安全写法与上线检查点。115 收藏 -
Redis 客户端缓存要避免脏读,重点是正确启用 CLIENT TRACKING 并处理 INVALIDATE 消息。本文比较默认跟踪、OPTIN、OPTOUT、BCAST 与 NOLOOP,说明连接池、跟踪表容量和数据库编号带来的边界。115 收藏