redis过期时间

tech2022-10-22  101

如果redis中没有设置expire过期时间,那么redis中的数据将会是永久有效的,不会被自动删除 (在不超过最大内存的情况下),但是Redis无论有没有设置expire,他都会遵循redis的配置好的删除机制,在配置文件里设置: redis最大内存不足"时,数据清除策略,默认为"volatile-lru"。 volatile-lru ->对"过期集合"中的数据采取LRU(近期最少使用)算法.如果对key使用"expire"指令指定了过期时间,那么 此key将会被添加到"过期集合"中。将已经过期/LRU的数据优先移除.如果"过期集合"中全部移除仍不能满足内存需求,将OOM. allkeys-lru ->对所有的数据,采用LRU算法 volatile-random ->对"过期集合"中的数据采取"随即选取"算法,并移除选中的K-V,直到"内存足够"为止. 如果如果"过期集合" 中全部移除全部移除仍不能满足,将OOM allkeys-random ->对所有的数据,采取"随机选取"算法,并移除选中的K-V,直到"内存足够"为止 volatile-ttl ->对"过期集合"中的数据采取TTL算法(最小存活时间),移除即将过期的数据. noeviction ->不做任何干扰操作,直接返回OOM异常 (待续)
最新回复(0)