Redis技术文章
-
Redis Streams pending 表示消费组已投递但尚未确认的消息。本文用 XPENDING、XINFO 和 XAUTOCLAIM 建立排查与恢复边界。109 收藏 -
Redis 出现 NOPERM 时,先用 ACL WHOAMI 确认连接身份,再用 ACL GETUSER、ACL DRYRUN 和 ACL LOG 区分命令、键模式与认证问题,最后按最小权限修复。134 收藏 -
Redis 分布式锁续期失败时,不能只看异常或单独读取 TTL。本文用唯一令牌、原子脚本和 PTTL 区分锁仍由本客户端持有、已被接管与状态未知,并说明安全释放和业务栅栏边界。451 收藏 -
Redis Stream 的 XTRIM 只限制流中条目,不会自动解决消费组 PEL 积压。本文用 XLEN、XINFO GROUPS、XPENDING 区分问题,并给出 MAXLEN、ACKED、DELREF 的选择方法。501 收藏 -
Redis pipeline 负责减少批量命令的网络往返,不提供事务隔离和自动回滚。本文对比 pipeline、MULTI/EXEC、WATCH 与 Lua,帮助你按一致性需求选择方案。320 收藏 -
Redis AOF 重写时,内存风险主要看 fork 之后的 COW 增长,磁盘风险则要拆成剩余空间、写入吞吐和 fsync 排队。本文用 INFO、MEMORY STATS、df 与 iostat 建立一套可复用的判断清单。501 收藏 -
Redis Cluster 遇到 CROSSSLOT 时,先用 CLUSTER KEYSLOT 找出不同槽位,再用业务 ID hash tag 重构相关 key,并评估迁移与热点风险。218 收藏 -
用 INFO replication 对照主库与副本 offset,结合链路、同步状态和 backlog 覆盖范围,判断 Redis 副本是在追赶、断链还是需要全量同步。402 收藏 -
从最近访问、累计频率、热点迁移和 TTL 设计几个维度比较 Redis 的 allkeys-lru 与 allkeys-lfu,并给出配置和观测检查清单。106 收藏 -
解释 Redis WATCH 监视键在 EXEC 前被修改时为什么返回 nil,并用双客户端示意、有限重试和边界清单处理乐观锁冲突。159 收藏 -
Redis Lua 返回 RESP3 map 时,客户端是否拿到字典取决于脚本内部的 redis.setresp(3) 与连接侧的 HELLO 3 是否分别配置正确。本文拆开两层协议,说明 RESP2 为何会把 map 展平成交替键值数组,并给出客户端解析检查表。379 收藏 -
Redis Stream 消费组中的 pending 消息已经投递但尚未确认。本文用 XPENDING 检查 PEL 和空闲时间,再用 XAUTOCLAIM 批量重新认领超时消息,并说明何时使用 XCLAIM 与 XACK。207 收藏 -
Redis ZRANGEBYLEX 适合在 Sorted Set 成员分值相同的前提下按字典序取范围。本文用 redis-cli 演示边界符号、LIMIT 分页、游标衔接及 Redis 6.2+ 的 ZRANGE BYLEX 替代写法。482 收藏 -
Redis 过期通知收不到时,重点检查 notify-keyspace-events 是否包含 E 或 K 与 x、订阅频道是否匹配,以及 expired 事件的实际触发时机和 Cluster 节点范围。321 收藏 -
Redis ACL 权限不能只看密码,还要同时限制可执行命令和可访问 key。本文用 ACL SETUSER、key pattern、selector 和高危命令清单,整理一套可落地的最小权限写法。207 收藏