什么是LRU算法
LRU是Least Recently Used的缩写,即最近最少使用。最早接触这个算法是在大学学习计算机操作系统课程中,它是操作系统中的一种页面置换算法,是为虚拟页式存储管理服务的。它是以以最近的过去作为不久将来的近似,把过去最长一段时间里不曾被使用的页面置换掉。
LRU算法实现简单,当存在热点数据时,效率很好,但偶发性的、周期性的批量操作会导致LRU命中率急剧下降,缓存污染情况比较严重。
算法实现
最常见的实现是使用一个链表保存缓存数据。
C++版本实现
采用List和Map的两种数据结构,Map可以解决查询效率,List可以解决插入删除的效率。
閱讀更多 半杯茶的小酒杯 的文章