1. LRU算法
缺点: 如果一个不是经常使用的数据,偶尔或者周期性的被使用,那么该数据会被加到LRU链表头部,而这种不经常使用的数据,放在链表头部,占用了空间;一直等到LRU淘汰完,才会被剔除链表; 如果这种数据一次性过多,那么链表数据都是这种无用的数据,从而会导致缓存命中率低下,影响系统性能;
2. LRU-K算法
针对LRU算法的问题,LRU-K算法,不仅记录最近被使用时间,还需要使用一个历史记录表,记录使用次数; 使用次数很低的,直接不加入LRU链表; 提高缓存命中率;
1. LRU算法
缺点: 如果一个不是经常使用的数据,偶尔或者周期性的被使用,那么该数据会被加到LRU链表头部,而这种不经常使用的数据,放在链表头部,占用了空间;一直等到LRU淘汰完,才会被剔除链表; 如果这种数据一次性过多,那么链表数据都是这种无用的数据,从而会导致缓存命中率低下,影响系统性能;
2. LRU-K算法
针对LRU算法的问题,LRU-K算法,不仅记录最近被使用时间,还需要使用一个历史记录表,记录使用次数; 使用次数很低的,直接不加入LRU链表; 提高缓存命中率;