📜  LFU 完整表格

📅  最后修改于: 2021-09-24 01:50:33             🧑  作者: Mango

LFU代表最少使用。它是一种缓存算法,用于优化计算机的内存。在这个算法中,系统会记录一个块在内存中被引用的次数。当缓存完全填满并需要更多空间时,则删除具有最低参考频率的项目。
LFU 执行的三个操作是 – Set (insert)、Retrieve(lookup)、Evict(delete)。

LFU-Full-Form

执行

一个简单的方法是我们为内存中出现的每个块分配一个计数器。现在,每次块重新出现时,计数器都会增加一。当高速缓存完全填满并且必须插入新块时,具有最小计数器值的块将从高速缓存中移除并插入新值。当该块从高速缓存中移除时,该块的计数器被初始化为零。

特征

  • 可以遵循先进先出的方法,即先进先出。
  • Min Heap 可用于以对数时间复杂度实现该算法。
  • 在高速缓存的访问模式不经常更改的情况下,它是非常系统的。

优点

  • 用于在重复数据时查找项目。示例 – 它用于移动键盘中用于建议单词,因此在使用一段时间后,它开始建议那些更常用的单词。
  • 在 LFU 旧页面中,检查该页面的频率。

缺点

  • 插入缓存中的新项目将很快被删除,因为它们的数量很少,但可以再次非常频繁地使用。
  • Belady异常也可能发生。