Redis技术文章
-
Redis XREADGROUP 的 NOACK 会跳过 Pending Entries List,不适合必须重试或必须追踪处理结果的任务。本文从 PEL、XACK 和消息丢失代价出发,说明什么时候可以使用 NOACK。189 收藏 -
Redis XADD 可在追加时通过 MAXLEN 裁剪旧消息。本文用独立实验键说明精确与近似长度限制、Stream ID 顺序、LIMIT 和消费组保留边界。264 收藏 -
Redis XREADGROUP 通过 BLOCK 控制单次读取的等待时长,0 表示持续阻塞;配合 GROUP、consumer 和 STREAMS 的 > 游标即可等待消费者组中的新消息。本文说明创建组、消费、超时、Pending 消息与 XACK 的边界。217 收藏 -
Redis Streams 中,XGROUP CREATECONSUMER 可以为已有消费组预创建消费者;返回 1 表示新建,返回 0 表示消费者已经存在。本文用 redis-cli 说明参数、返回值和常见前置错误。267 收藏 -
Redis ACL 不要直接把消费者账号放进宽泛的读权限。本文从一个只读消费者的排查现场出发,用逐条命令白名单和 key 前缀限制创建账号,再用 ACL GETUSER、允许请求、未授权命令和越界 key 四组结果确认规则真正收紧。207 收藏 -
Redis Pub/Sub 适合在线订阅者都能即时收到、允许离线丢失的广播;Redis Streams 适合需要留痕、回放、消费组分工和确认的消息。本文从触发信号、持久化边界、故障处理和告警复盘给出选型方法。135 收藏 -
用MEMORY USAGE估算Redis单键内存,区分业务长度和实例内存,讲解SAMPLES的有限采样与全量含义,并给出受限查询、权限和结果记录方法。220 收藏 -
Redis 写入后再执行 EXPIRE 会留下异常窗口。本文用 SET NX EX 把不存在条件、值和过期时间放进一条命令,并说明 OK、空返回、TTL、PX 与 KEEPTTL 的边界。117 收藏 -
Redis TTL 返回负数通常不是命令失效:-1 表示键存在但没有过期时间,-2 表示键不存在。本文用最小 redis-cli 示例对照 SET EX、PERSIST、DEL 和 PTTL,给出一套排查 TTL 负数的判断顺序。255 收藏 -
解释Cluster原生MGET的同槽限制,区分槽和节点、普通前缀与哈希标签,给出同槽命令和客户端非原子读取示例,并说明结果顺序、热点和失败语义。143 收藏 -
Redis Streams 的积压不能只看 XLEN。本文用 XPENDING、XINFO GROUPS 和 XINFO CONSUMERS 区分 pending 与 lag,并给出从现象到根因的排查命令。449 收藏 -
Redis 7 及以上可以把 Lua 逻辑保存为 Function library,再用 FCALL 按名称调用。本文用库存扣减示例说明 FUNCTION LOAD、KEYS/ARGV、原子执行和升级边界。286 收藏 -
Redis Lua 脚本不能依靠多个 return 表达式同时返回多个顶层结果,常用做法是返回一个按位置约定的 Lua 数组表。本文从 EVAL 参数开始,说明状态码、消息和业务值怎样放进同一份数组回复,并处理 nil、布尔值和错误分支。231 收藏 -
本文用 Redis ZRANGE 的 BYSCORE、排他分值和 LIMIT 实现有序集合游标分页,说明如何保存下一页游标、避免重复分值跳过数据,并判断末页与查询成本。414 收藏 -
说明HSCAN游标与COUNT规则,给出二进制安全的JSONL增量导出示例,讨论重复字段、并发修改、响应容量、失败文件与恢复幂等的设计。334 收藏