算法设计与分析课件 59 LRU缓存算法.pptxVIP

  • 4
  • 0
  • 约1.67千字
  • 约 20页
  • 2026-06-10 发布于山东
  • 举报

算法设计与分析本节要点CONTENTSLRU缓存算法

LRU缓存算法缓存是一种提高数据读取性能的技术,我们常用缓存提升数据查询速度,由于缓存容量有限,当缓存容量到达上限,又有新数据需要添加进缓存时,就需要删除部分数据腾出空间,这样新数据才可以添加进来。缓存数据不能随机删除,一般情况下根据某种算法策略删除(淘汰)缓存数据。常用缓存淘汰算法有最近最少使用算法(LRU)、最少使用算法(LFU)、先进先出算法(FIFO)等。

LRU是LeastRecentlyUsed的缩写,该算法基于“局部性原理”,认为最近使用的数据是热门数据,下一次大概率会再次被使用,而最近很少被使用的数据,下一次大概率不再用到。当缓存容量已满时,优先淘汰最近很少使用的数据。LRU缓存淘汰算法在CPU缓存、数据库缓存和浏览器缓存中广泛应用。LRU缓存算法

假设缓存容量capacity=5,最近访问的数据在缓存头部,LRU算法的简化模拟过程如下。LRU缓存算法存入1访问5存入8

LRU算法有两个基本操作:访问get(key):如果关键字key在缓存中,返回关键字的值,否则返回-1。将该数据移动到缓存头部。存入put(key,val):如果关键字key已经存在,则变更其值为val,并将该数据移动到缓存头部。如果关键字不存在,若缓存已满,则先删除缓存尾部;将新数据放入缓存头部。LRU缓存算法

(1)将数据移动到缓

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档