Redis技术文章
-
连接池复用能减少建连开销,但空闲连接可能已经失效。本文用 Redis PING 和 redis-py 示例说明健康检查、失效连接隔离、连接重建与业务重试的边界。387 收藏 -
Redis 7.4 开始支持 Hash 字段级 TTL。本文对比 HEXPIRE 与整 key EXPIRE 的适用场景、覆盖规则、版本边界和最小检查方法,帮助按数据生命周期选择更稳妥的过期策略。386 收藏 -
从原子操作、脚本发布、集群路由和故障回退几个边界比较 Redis Lua 脚本与 Functions,给出可落地的选择和验收方法。385 收藏 -
Redis Stream 保留消息时,MAXLEN 适合固定条数窗口,MINID 适合按时间或事件 ID 淘汰。本文比较近似与精确裁剪,并给出复查与消费组判断清单。385 收藏 -
Redis WAIT 用 numreplicas 和毫秒级 timeout 等待当前连接此前写入被副本确认。本文说明返回值判断、超时处理、连接边界,以及它与 AOF 持久化和强一致保证的区别。383 收藏 -
Redis Streams 使用 XREADGROUP 时,空结果不一定代表没有消息。本文从 BLOCK 超时、已确认消息和 XPENDING 消费者状态三条线核对消息是否真正读到,并给出可复查的命令与边界。382 收藏 -
Redis LPOS 查找列表元素时,负数 RANK、List 下标和空结果容易混淆。本文用重复通知场景拆解从尾部定位、扫描边界与应用侧验收。381 收藏 -
Redis Streams 消费者异常退出后,消息会留在 PEL 中。先用 XPENDING 观察归属、空闲时间和投递次数,再用 XAUTOCLAIM 接管超时消息,处理成功后用 XACK 完成闭环。380 收藏 -
Redis TTL 不按预期过期,通常不是 Redis 忽略了时间,而是过期没有成功写入、后续 SET 覆盖清除了 TTL,或把主动清理误解成精确计时。本文用 TTL、PTTL 和最小命令集逐层定位。380 收藏 -
Redis 键过期后,used_memory、used_memory_rss 和 allocator 内存不一定同时下降。本文从 TTL、过期清理、分配器碎片和 RSS 四个层次判断现象,再给出低风险的处理顺序。380 收藏 -
Redis Functions 会把 Lua 逻辑作为函数库保存。本文用一个订单状态校验函数说明 FUNCTION LOAD、REPLACE、FUNCTION LIST 和 FUNCTION DELETE 的切换边界,给出发布前验收与失败回滚顺序。379 收藏 -
Redis Lua 返回 RESP3 map 时,客户端是否拿到字典取决于脚本内部的 redis.setresp(3) 与连接侧的 HELLO 3 是否分别配置正确。本文拆开两层协议,说明 RESP2 为何会把 map 展平成交替键值数组,并给出客户端解析检查表。379 收藏 -
Redis 普通 SET 会替换键的过期设置。本文说明怎样用 KEEPTTL 覆盖字符串值、用 TTL/ PTTL 确认结果,并梳理 XX、永久键以及 EX/PX 参数冲突。379 收藏 -
Redis XTRIM MINID 按完整消息ID下界裁剪Stream。通过独立样例区分精确、近似裁剪和消费组引用策略,说明时间窗口、残留记录与不可恢复删除的边界。379 收藏 -
Redis 连接池耗尽不等于 Redis 慢。本文用 go-redis PoolStats、SLOWLOG GET 和 CLIENT LIST 区分慢命令、池等待与请求生命周期未结束,并给出修复顺序。378 收藏