Redis技术文章
-
Redis Streams 消费组里的消费者异常退出后,消息会留在 PEL 中等待确认。本文用 XAUTOCLAIM 按空闲时间接管消息,讲清游标、COUNT、JUSTID、XACK 和重复投递边界。215 收藏 -
Redis XAUTOCLAIM 的 COUNT 是每轮尝试接管的数量上限,不保证恰好返回相同条数。本文结合 PEL、min-idle-time、start 游标和 COUNT×10 扫描窗口,说明如何控制恢复负载、读取三段返回值并处理 0-0 与已删除消息边界。215 收藏 -
Redis ACL 不要直接把消费者账号放进宽泛的读权限。本文从一个只读消费者的排查现场出发,用逐条命令白名单和 key 前缀限制创建账号,再用 ACL GETUSER、允许请求、未授权命令和越界 key 四组结果确认规则真正收紧。207 收藏 -
Redis JSON.SET 只能在根路径创建不存在的 JSON 文档;已有父对象时可以新增最后一级成员,但不能自动补齐缺失的中间路径。本文用返回值和命令示例拆开这三个边界。204 收藏 -
Redis HSETNX 用原子方式初始化 Hash 字段:字段不存在时写入并返回 1,已存在时保持原值并返回 0。本文用 redis-cli 和 Go 客户端拆解返回值、重复调用、错误类型与适用边界。191 收藏 -
Redis XREADGROUP 的 NOACK 会跳过 Pending Entries List,不适合必须重试或必须追踪处理结果的任务。本文从 PEL、XACK 和消息丢失代价出发,说明什么时候可以使用 NOACK。189 收藏 -
通过假设故障说明redis-py普通管道的逐条响应处理,给出保留命令位置、区分ResponseError和连接未知状态的原创只读函数。178 收藏 -
Redis BITFIELD_RO 只接受 GET,可以从同一个字符串按位宽和偏移一次提取多个整数。本文用非字节对齐字段说明 i/u 编码、# 偏移、返回顺序和缺失位边界。176 收藏 -
Redis XTRIM MINID 按消息 ID 阈值清理 Stream,严格小于阈值的消息才在清理范围内。本文区分精确与近似模式、消息时间与业务时间,并说明消费者组 PEL 引用、版本策略、权限及审计注意事项。176 收藏 -
Redis JSON.SET 配合根路径和 XX 可仅更新已有文档,但子路径 XX 还要求字段存在。通过局部更新与整份替换示例,说明未命中处理、存在性竞态和版本锁边界。173 收藏 -
Redis ZDIFF 按成员身份返回第一有序集合与后续集合的差集。本文解释输入方向、WITHSCORES、分数变化误区,以及结果存储和生命周期。168 收藏 -
Redis SCAN 可配合 MATCH 和 COUNT 分批扫描业务键,但空批次不代表结束,COUNT 也不是页大小。本文给出只读游标循环,说明重复键、并发变化、中断状态及扫描范围的处理方式。168 收藏 -
Redis Stream 的 XREAD COUNT 只限制本次返回消息数量,不是全局限流。本文说明它与读取游标、BLOCK、多 Stream 以及 XREADGROUP 的边界。166 收藏 -
Redis CLIENT TRACKING 不会替应用保存本地缓存,而是记录客户端读过的 key,并在 key 被修改、过期或淘汰时发送失效通知。本文按 RESP3、RESP2、OPTIN/OPTOUT、BCAST 和断连竞态整理一套可落地的选择流程。166 收藏 -
Redis SUNIONCARD 的 LIMIT 可以在并集计数达到阈值时提前停止,适合只关心是否达标的场景。本文说明参数写法、返回值语义、空键、复杂度和多键部署边界。161 收藏