«

Redis 过期策略详解

时间:2026-10-9 07:11     作者:emer     分类: 无


Redis 过期策略详解

Redis 设置了过期时间后,怎么删除过期的 key?这就涉及过期策略。

1. 设置过期时间

# 设置过期时间(秒)
set name "张三" ex 60

# 给已有key设置过期时间
expire name 60

# 查看剩余时间
ttl name

# 移除过期时间
persist name

2. 两种过期策略

1)惰性删除

2)定期删除

Redis 实际是两种策略结合用。

3. 内存淘汰策略

当内存满了,写入新数据时怎么办?

# 查看当前淘汰策略
config get maxmemory-policy

常用淘汰策略:

生产推荐:allkeys-lru

4. LRU 和 LFU

Redis 4.0 开始支持 LFU。

5. 实际使用建议

  1. 设置合理的 maxmemory

    • 不要让 Redis 把内存占满
    • 一般设为服务器内存的 70%
  2. 选择合适的淘汰策略

    • 纯缓存场景:allkeys-lru
    • 有持久化数据:volatile-lru
  3. key 一定要设过期时间

    • 重要数据不要设过期
    • 缓存数据都要设过期时间
  4. 监控内存使用

    • 用 info memory 查看
    • 关注 used_memory 指标

6. 查看内存信息

# 查看内存使用
info memory

# 查看key数量
dbsize

# 查看大key
--bigkeys

总结

Redis 过期策略要点:

搞懂过期策略,Redis 用起来才不踩坑。

标签: Redis 缓存 过期策略 LRU 内存