LRU最近最少使用算法

LRU(LeastRecentlyUsed)"最近最少使用"算法:

1.当缓存空间已满耗用时,淘汰最近最少使用数据的缓存对象以释放更多的缓存空间(用于历史缓存对象的维护)。

哈希表:快速查找缓存对象;双向链表:维护 历史数据所在的节点顺序。

步骤:

具体来说,当新的数据被访问时,先在哈希表中查找该数据是否已经存在于缓存中,如果存在,则将该数据移动到双向链表的头部,表示该数据是最近访问的数据;如果不存在,则需要将该数据添加到缓存中,并将其添加到双向链表的头部。当缓存空间已满时,需要淘汰双向链表中最后一个节点,同时在哈希表中删除对应的缓存数据。

备注:

缓存元件位处CPU内 操作速度比内存更快

相关推荐
依旧风轻9 天前
使用 Swift 实现 LRU 缓存淘汰策略
缓存·swift·哈希表·lru·双向链表
SchneeDuan1 个月前
力扣146 - LRU缓存
缓存·lru
吃瓜市民1 个月前
146. LRU 缓存
算法·缓存·lru
01_2 个月前
力扣hot100——LRU缓存(面试高频考题)
leetcode·缓存·面试·lru
菠菠萝宝2 个月前
【Java八股文】10-数据结构与算法面试篇
java·开发语言·面试·红黑树·跳表·排序·lru
xiaolin03332 个月前
146. LRU 缓存
算法·哈希·lru·双向链表
dashalen3 个月前
LruCache实现
java·lru
p@nd@4 个月前
Oracle筑基篇-调度算法-LRU的引入
数据库·oracle·操作系统·lru
苓诣4 个月前
LRU 缓存
缓存·lru
一叶飘零_sweeeet5 个月前
Java 实现自定义 LRU 缓存
java·缓存·lru