标签:手写 包括 end math 随机 check 随机选择 turn nbsp
1. Redis的过期key删除机制
定期删除:redis每100ms会定期去抽一批设置了过期时间的key去检查是否过期
惰性删除:当你通过redis获取该key的时候,redis会去check一下
这样就会导致一个问题,假设一个key过期了,我也不去访问。他就会一直存在内存当中,所以可能会导致内存满掉,因此Redis还引入了内存淘汰机制。
2. 手写一个LRU算法
1 public LRUCache<T> extend LinkedHashMap { 2 private fianl int CACHE_SIZE; 3 4 LRUCache(int size) { 5 super((int) MATH.ceil(size/0.75)+1, 0.75f, true)//设置为读取模式 6 CACHE_SZIE=size; 7 } 8 9 @Override 10 protected boolean removeEldestEntry(Map.entry eldest) { 11 return eldest.size()>CACHE_SIZE; 12 } 13 }
标签:手写 包括 end math 随机 check 随机选择 turn nbsp
原文地址:https://www.cnblogs.com/wpccc/p/12814560.html