1.4 数据存储

1、Redis 的数据过期策略是什么?

Redis的数据过期策略包括两种机制:被动删除和主动删除。

  1. 被动删除

    • 当某个键被访问时,如果发现这个键已经过期,Redis会立即删除这个键。这意味着如果一个过期的键从未被访问,它就不会被自动删除。这是一种惰性删除策略。
  2. 主动删除

    • Redis会定期随机测试一些键的过期时间。如果发现某些键已经过期,它就会删除这些键。这个过程是在Redis的定时任务中进行的,通常称为过期键扫描。

过期键扫描的具体步骤

  • Redis每隔一段时间执行一次过期扫描任务,它会随机抽查一些键,并检查它们是否过期。
  • 如果抽查中发现超过25%的键已经过期,Redis会立即再次抽查。
  • 这个过程会重复执行,直到过期键的比例降到25%以下。

这种组合策略有助于保持Redis内存的使用效率,避免大量过期键占用内存,但同时也不会因为删除操作而造成服务器性能的显著下降。

另外,当内存不足时,Redis还可以配置使用volatile-*allkeys-*等淘汰策略来删除键,以释放内存,这些策略和键过期是分开的,但在管理内存方面发挥着互补作用。

volatile-allkeys-<

11-09 08:46