redis 默认过期策略_redis的过期策略和内存淘汰机制 拼搏现实的明天。 2022-12-31 15:29 176阅读 0赞 一、redis的过期策略和内存淘汰机制 1、定期删除+惰性删除 定期删除:指的是redis默认是每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除 惰性删除:在你获取某个key的时候,redis会检查一下 ,这个key如果设置了过期时间那么是否过期了,如果过期了此时就会删除,不会给你返回任何东西 2、如果大量过期key堆积在内存里,导致redis内存块耗尽了,怎么办? 内存淘汰机制: redis.conf中配置: \# maxmemory-policy noeviction noeviction:当内存使用达到阈值的时候,所有引起申请内存的命令会报错。 allkeys-lru:在主键空间中,优先移除最近未使用的key。 volatile-lru:在设置了过期时间的键空间中,优先移除最近未使用的key。 allkeys-random:在主键空间中,随机移除某个key。 volatile-random:在设置了过期时间的键空间中,随机移除某个key。 volatile-ttl:在设置了过期时间的键空间中,具有更早过期时间的key优先移除。 二、手写LRU缓存 public class LRUCache \{ private Map map; private final int capacity; public LRUCache(int capacity) \{ this.capacity =
还没有评论,来说两句吧...