Redis技术文章
-
Redis LMPOP 可以在多个候选列表中按 key 顺序找到第一个非空列表,再从 LEFT 或 RIGHT 批量弹出元素。本文说明参数、返回结构、空结果、优先级队列设计,并比较 BLMPOP 与 LMOVE 的适用边界。326 收藏 -
本文说明 Redis CMS.MERGE 的 WEIGHTS 写法、来源顺序、同 width/depth 约束和 CMS.QUERY 读取方式,帮助把多份 Count-Min Sketch 按来源贡献合并到目标草图。326 收藏 -
Redis 更新值后 TTL 消失,通常是普通 SET 覆盖值时丢弃了原过期时间。本文用 TTL、PTTL、EXISTS 区分状态,并比较 KEEPTTL、EX/PX 与 volatile 淘汰策略。325 收藏 -
Redis COPY 的 REPLACE 会整体替换已存在的目标 key,而不是合并字段。本文用返回值、对象边界、TTL、复杂度和集群槽位说明如何安全判断复制结果。325 收藏 -
Redis 过期键并不是只靠一个定时器逐个删除:客户端访问到已过期键时会触发访问时处理,后台也会周期性抽样清理。本文用 TTL 的正数、-1、-2 返回值建立排查顺序,并说明主动过期、访问时删除和时间精度的边界。324 收藏 -
Redis Streams 消费者组积压要先区分 lag 与 pending。本文用 XINFO、XPENDING、XAUTOCLAIM、XACK 和 XTRIM 组织认领、有限重试、死信与安全裁剪,并说明不同 Redis 版本的边界。324 收藏 -
Redis SCAN 不是并发安全的静态快照:从扫描开始到结束始终存在的键会被完整迭代返回,但扫描期间被删除、新增或重新加入的键可能返回也可能不返回。本文给出重复返回、COUNT、UNLINK 和二次复查的处理方式。323 收藏 -
Redis 客户端缓存要解决的不是如何保存本地副本,而是数据变化后如何可靠地让副本失效。本文对比默认 Tracking 与 BCAST 广播模式,给出 RESP3 单连接、RESP2 REDIRECT 双连接、前缀范围和断线处理的落地选择。323 收藏 -
Redis TDIGEST.QUANTILE 可以在一次命令中传入多个 0 到 1 的分位点,并按输入顺序返回对应的浮点估算值。本文说明批量查询写法、返回数组对齐规则、0 和 1 的边界含义,以及空 sketch 和非法参数的处理方式。323 收藏 -
Redis ZRANGE 遇到相同 score 时不会按写入时间排序,而是继续比较 member。本文用排行榜和分页场景说明字典序规则,并给出可复现的二级排序设计。322 收藏 -
Redis BITFIELD 可以在一个字符串键中组合 GET、SET 和 INCRBY 操作。本文用位宽、偏移和溢出边界说明怎样安全更新多个位字段。322 收藏 -
Redis 过期通知收不到时,重点检查 notify-keyspace-events 是否包含 E 或 K 与 x、订阅频道是否匹配,以及 expired 事件的实际触发时机和 Cluster 节点范围。321 收藏 -
Redis HINCRBYFLOAT 适合原子递增 Hash 中的浮点字段,但返回的是更新后的数值文本,不是固定小数位格式。本文解释返回格式变化、有效数字边界、非法浮点输入,以及应用层如何负责展示格式化。321 收藏 -
Redis Pipeline 通过批量发送命令减少网络往返,但批次过大也会增加回复队列、客户端内存和重试成本。本文给出批大小、错误分类与读后写依赖的处理方法。321 收藏 -
Redis SINTERCARD 的 LIMIT 可以在交集计数达到阈值时提前结束,适合只判断是否达标的场景。本文说明参数位置、返回值语义、精确计数边界、复杂度与集群注意事项。321 收藏