目录
一、LRU是什么?
LRU,全称是Least Recently Used,即最近最少使用页面置换算法。从字面意思上可以看出,选择最近最久未使用的页面予以淘汰。
LRU算法是大部分操作系统为最大化页面命中率而广泛采用的一种页面置换算法。该算法的思路是,发生缺页中断时,选择未使用时间最长的页面置换出去。
- 缓存:是一种提高数据读取性能的技术,在硬件设计,软件开发中都有非常广泛的作用,常见的CPU缓存,数据库缓存,浏览器缓存等。
- 缓存大小是有限的,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留?这就需要缓存淘汰策略来决定。
- 常见的策略有三种:
- 先进先出策略(FIFO,First In,First Out)
- 最少使用策略(LFU,Least Rrequently Used)
- 最近最少使用策略(LRU,Least Recently Used)
二、LRU算法的规则
最近被使用或访问的数据放置在最前面;
当缓存命中(即缓存数据被访问)则将数据移到头部;
当缓存数量达到最大值时,将最近最少访问的数据剔除。