Redis技术文章
-
Redis Streams 中,XPENDING 可以先看消费者组的待确认总量,再用明细和 IDLE 毫秒过滤找出长期未确认消息。本文拆解 PEL、消费者、空闲时间和投递次数,并说明定位与恢复的边界。159 收藏 -
XACK 只清理指定消费组的待处理记录,不删除流正文。本文给出 Redis Streams 消费与确认示例,说明返回零、重复确认、失败重试及超时认领的处理边界。347 收藏 -
Redis Stream 要让多个 worker 分摊未消费消息,应让它们加入同一个 consumer group,并使用不同的 consumer 名称通过 XREADGROUP 读取;处理成功后用 XACK 清理 PEL,恢复时再读取自己的 pending 历史。158 收藏 -
Redis SINTERCARD 用于只返回多个集合的交集基数,本文说明 numkeys、LIMIT、空集合、缺失键和 WRONGTYPE 边界,并给出适合阈值判断与精确计数的最小写法。393 收藏 -
Redis keyspace notifications 不必接收全部键变更。需要拿到过期键名时使用 Ex 并订阅 __keyevent@0__:expired,需要拿到事件名时使用 Kx 并订阅 __keyspace@0__:*;同时注意 expired 触发延迟、Pub/Sub 断线丢失和 Cluster 节点范围。396 收藏 -
Redis HSETNX 用原子方式初始化 Hash 字段:字段不存在时写入并返回 1,已存在时保持原值并返回 0。本文用 redis-cli 和 Go 客户端拆解返回值、重复调用、错误类型与适用边界。191 收藏 -
Redis GEOSEARCH 可以以给定经纬度或已有成员为中心,用 BYRADIUS 按米、千米等单位筛选地理成员,再用 ASC、COUNT、WITHDIST 和 WITHCOORD 控制排序、数量与返回字段。278 收藏 -
Redis BLMOVE 可以在等待任务时,把列表元素原子转入 processing 列表。本文用两个列表拆开方向参数、超时返回、完成确认和超时回收,帮助你搭出可恢复的可靠队列。445 收藏 -
Redis LMPOP 按键顺序选择一个非空列表,再从指定端批量弹出。通过隔离样例解释 COUNT 不跨来源补齐、返回对象与空结果处理,以及优先级、集群同槽和消费失败恢复边界。473 收藏 -
Redis Streams 消费组中,XACK 只负责把已成功处理的消息从当前组的待确认列表移除。本文用最小命令说明确认时机、重复 ID、返回计数、PEL 查询和失败重试边界,避免把重复投递误判成重复确认。374 收藏 -
Redis XTRIM MINID 按完整消息ID下界裁剪Stream。通过独立样例区分精确、近似裁剪和消费组引用策略,说明时间窗口、残留记录与不可恢复删除的边界。379 收藏 -
Redis Streams 消费组里的消费者异常退出后,消息会留在 PEL 中等待确认。本文用 XAUTOCLAIM 按空闲时间接管消息,讲清游标、COUNT、JUSTID、XACK 和重复投递边界。215 收藏 -
Redis 7.4 及以上可以用 HTTL 查询 hash 字段的剩余秒数。本文从字段级过期的适用边界出发,讲清 FIELDS 参数、-1 与 -2 返回值、HPTTL 精度选择,以及怎样把查询结果接入清理和监控。354 收藏 -
Redis 7.4 及以上可以用 HPEXPIRE 给 hash 的指定字段设置毫秒 TTL。本文用 redis-cli 说明 FIELDS 语法、NX/XX/GT/LT 条件、HPTTL 检查方法,以及字段不存在和 key 级过期的边界。376 收藏 -
Redis EXPIRE 的 LT 选项只能保证新 TTL 更短,却会把没有过期时间的键视作无限 TTL。本文用 TTL、PTTL 和原子 Lua 脚本说明怎样只缩短已有 TTL,并处理返回值与并发边界。377 收藏