Redis 过期了,为什么内存还在?——Redis系列(十)
促销活动结束。优惠券、秒杀库存、限时会话——几百万个 key 都设了 TTL,按理说到点就该从内存中清理掉。看监控:GET拿不到数据返回 nil,TTL返回‑2,说明 Key 已经过期,可used_memory内存占用几乎没有变化。不少人会误以为 Redis 过期失效,甚至建议直接重启实例。先别急着重启。Redis 过期只做一件事:过期之后业务读不到数据,不会保证到期那一毫秒就立刻释放内存。这不是 bug,是 Redis 的固有设计。参考https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/