LRU算法
2019-01-05
LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。
1 Java实现
1.1 使用链表
最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:
- 新数据插入到链表头部;
- 每当缓存命中(即缓存数据被访问),则将数据移到链表头部;
- 当链表满的时候,将链表尾部的数据丢弃。
参考文献
LRU算法的实现(Java版)
LRU算法的实现(Python版)
如何设计实现一个LRU Cache?
LRU缓存实现(Java)
缓存淘汰算法–LRU算法(java代码实现)