Redis有两种过期删除策略:

  1. 定期删除:Redis默认每隔一定时间就会对过期键进行删除。在redis.conf文件中可以设置两个参数,分别是hzsavehz表示每秒执行定时任务的次数,而save是指当保存快照时,Redis会遍历所有的过期键并删除它们。

  2. 惰性删除:当访问一个键时,Redis会先检查它是否过期,如果过期就将其删除。这种方式可以节省CPU资源,但可能会导致过期键在一段时间内一直存在于内存中。可以通过设置maxmemory-policy参数来控制惰性删除的行为。常用的策略有:

    • noeviction:当达到最大内存限制时,Redis不会删除任何键,而是直接返回错误。
    • allkeys-lru:当达到最大内存限制时,Redis会优先删除最近最少使用的键。
    • volatile-lru:当达到最大内存限制时,Redis会优先删除带有过期时间的键中最近最少使用的键。
redis过期删除策略

原文地址: https://www.cveoy.top/t/topic/hjk7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录