Redis内存淘汰策略
一、逻辑图 二、淘汰策略 // noeviction 当内存不足时,新写入操作会报错。 // allkeys-random 当内存不足时,在键空间中,随机移除某个key。 // allkeys-lru 当内存不足时,在键空间中,移除最近最少使用的key。 // volatile-lru 当内存不足时,在设置了过期时间的键空间中,移除最近最少使用的key // volatile-random 当内存不足时,在设置了过期时间的键空间中,移除随机某个key // volatile-ttl 当内存不足时,在设置了过期时间的键空间中,有更早过期时间的key优先移除 三、考点剖析 1、如何设置淘汰策略? //Redis.conf maxmemory-policy allkeys-lru 2、LRU算法的简单实现 import java.util.LinkedHashMap; import java.util.Map; public class LruCache<K, V> extends LinkedHashMap<K, V> { private final int maxCapacity; private final float DEFAULT_LOAD_FACTOR = 0.75f; public LruCache(int maxCapacity) { super(maxCapacity,