Redis技术文章
-
Redis BLMOVE 用一个命令从来源列表弹出元素并压入目标列表,适合把待处理任务转移到处理中队列。本文拆解来源端、目标端、阻塞等待和超时返回,说明怎样避免方向写反和空列表误判。282 收藏 -
Redis GEOSEARCH 可以以给定经纬度或已有成员为中心,用 BYRADIUS 按米、千米等单位筛选地理成员,再用 ASC、COUNT、WITHDIST 和 WITHCOORD 控制排序、数量与返回字段。278 收藏 -
Redis 删除大列表、哈希或集合时,DEL 可能在主线程同步完成大量释放工作。本文比较 DEL 与 UNLINK 的删除成本、返回值和异步回收边界,说明什么时候用 UNLINK 更稳妥。275 收藏 -
Redis Streams 中,XGROUP CREATECONSUMER 可以为已有消费组预创建消费者;返回 1 表示新建,返回 0 表示消费者已经存在。本文用 redis-cli 说明参数、返回值和常见前置错误。267 收藏 -
Redis XADD 可在追加时通过 MAXLEN 裁剪旧消息。本文用独立实验键说明精确与近似长度限制、Stream ID 顺序、LIMIT 和消费组保留边界。264 收藏 -
Redis Stream 消费者失联后,使用 XPENDING 找出 PEL 中的超时消息,再用 XCLAIM 转交给新消费者,并根据返回值和业务结果决定何时 XACK。261 收藏 -
Redis TTL 返回负数通常不是命令失效:-1 表示键存在但没有过期时间,-2 表示键不存在。本文用最小 redis-cli 示例对照 SET EX、PERSIST、DEL 和 PTTL,给出一套排查 TTL 负数的判断顺序。255 收藏 -
Redis Streams 消费组中的消息如果长时间没有确认,会留在 PEL 里。本文用 XAUTOCLAIM 按最小空闲时间接管消息,讲清游标、COUNT、JUSTID、XACK 和重复投递边界。252 收藏 -
Redis Stream 消费者组的待处理消息位于 PEL 中,本文用 XPENDING 依次查看摘要、范围明细、消费者归属和空闲时间,并说明何时使用 XAUTOCLAIM、XCLAIM 与 XACK。250 收藏 -
Redis ZSET 按分数分页时,简单使用 offset 会受到数据插入和重复分数影响。本文用 ZRANGE BYSCORE、开区间 score 游标和复合排序键说明如何减少重复、漏项与深分页开销。246 收藏 -
Redis EXPIRE 默认会覆盖已有 TTL。如果业务只允许新过期时间更短,可以使用 EXPIRE key seconds LT,让 Redis 在服务端比较过期时间并返回 1 或 0。本文结合 TTL、NX、XX 和 PEXPIRE 说明缓存刷新与并发场景的用法。244 收藏 -
Redis HSTRLEN 用于读取 Hash 单个字段值的字节长度,本文通过英文、中文、空字符串示例区分 HSTRLEN、HLEN、字符数以及返回 0 时的缺失状态。244 收藏 -
Redis Stream 消费组出现积压时,XPENDING 可以先查看待处理总数、消息 ID 范围、责任消费者、空闲时间和投递次数。本文用摘要、范围、消费者与 IDLE 过滤说明排查顺序,并区分读取诊断与消息接管。238 收藏 -
Redis GEOSEARCHSTORE 可以把地理索引中的附近地点查询结果保存为新的有序集合。本文按 source、destination、范围参数、COUNT/ANY 与 STOREDIST 拆开最小写法、score 语义和迁移边界。237 收藏 -
Redis SCAN 不是一次性返回全量键的快照查询,而是用游标分批遍历键空间。本文解释完整遍历的结束条件、重复与动态数据边界,并给出 MATCH、COUNT 和幂等处理的实用写法。236 收藏