Redis技术文章
-
Redis SCAN 的 COUNT 只是每次调用的工作量提示,不是严格返回条数上限。本文说明如何沿用游标、结合 MATCH 分批消费,并处理空批次、重复键、小键空间和持续增长键空间。416 收藏 -
Redis TTL 返回 -1 表示键存在但没有过期时间。用小型缓存示例解释普通 SET、PERSIST 和遗漏 EXPIRE 的影响,并区分重新计时与 KEEPTTL 保留策略。370 收藏 -
Redis ACL 限制键前缀不能只配置 ~app:*,还要同时收紧命令权限。本文用 ACL SETUSER 创建只允许 app:* 的最小权限用户,并介绍 Redis 7.0+ 的 %R~、%W~ 读写键权限,以及 ACL GETUSER、ACL LIST、ACL DRYRUN 的复查方法。496 收藏 -
Redis Lua 的时间阈值只负责在脚本过久时触发 BUSY,并不会自动截断脚本。本文区分阈值配置与实际工作量限制,用 batch_size、cursor 和 KEYS/ARGV 设计可恢复的分片调用。246 收藏 -
Redis PUBSUB NUMPAT 返回当前节点上 PSUBSCRIBE 模式订阅的唯一模式数量。本文用可复现的订阅场景说明它与客户端数、普通频道订阅以及 Redis Cluster 节点口径的区别。322 收藏 -
Redis Sorted Set 使用 ZREMRANGEBYRANK 按从 0 开始的排名删除闭区间,支持负排名从最高分一侧倒数。本文说明命令写法、边界、结果复核与复杂度。170 收藏 -
Redis JSON.GET 可以通过 JSONPath 指定返回路径,按需读取顶层字段和嵌套字段。本文用一份带公开字段与敏感字段的示例,说明单路径、多路径、legacy path、Go 客户端解包以及空值和性能边界。312 收藏 -
Redis Hash 的 HSET 会覆盖字段但不会返回旧值。本文区分 HGETDEL 的取值并删除语义,并用 Lua 把 HGET 与 HSET 放进同一原子边界,实现单字段替换后返回旧值。295 收藏 -
Redis SDIFF 以第一个集合为基准,排除后续所有集合的成员。通过原创名单示例说明参数顺序、缺失键、输入隔离、结果键覆盖与有效期边界。245 收藏 -
Redis Stream 消费组中的 pending 消息不能直接从新的消费位置重读。本文用 XPENDING 判断空闲消息,再用 XAUTOCLAIM 按游标转移给恢复消费者,并说明 XACK、JUSTID、0-0 和已删除消息的处理边界。367 收藏 -
Redis ZREMRANGEBYRANK 按升序 rank 删除有序集合成员,rank 从 0 开始且 stop 包含。本文说明如何保留最高 N 名、读取删除数量,并区分按排名、分数和字典序清理。136 收藏 -
Redis OBJECT ENCODING 用于读取指定键的内部编码。本文用最小命令区分 TYPE 与内部编码的职责,并说明如何结合 MEMORY USAGE 定位数据结构的内存差异。225 收藏 -
Redis LOLWUT 的 VERSION 参数只选择生成式计算机艺术的版本分支,不会升级、降级或改写 Redis 服务器版本。本文用 LOLWUT 与 INFO server 对照说明判断边界。392 收藏 -
Redis CLIENT LIST 的 TYPE 参数可以按 normal、master、replica、pubsub 筛选客户端连接。本文解释过滤范围、关键字段、TYPE 与 ID 的组合用法,以及脚本处理空结果和权限问题的边界。307 收藏 -
Redis ACL SETUSER 限制命令时,不能只写 +get 或 +@read,还要同时配置键模式。本文从 reset 重建最小权限用户,比较单命令、命令分类与 Redis 7.0 选择器,并用 ACL WHOAMI、ACL LOG 和 NOPERM 区分排查方向。462 收藏