LRU
Least recently used,最近最少使用。核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。
最常见的实现是使用一个链表保存缓存数据

LFU
Least Frequently Used,最不常使用。在一段时间内,数据被使用频次最少的优先被淘汰。
主要是记录和追踪内存块的使用次数,当缓存已满并且需要更多空间时,系统将以最低内存块使用频率清除内存
缺陷:短期内频次高点缓存,会晋升为热点数据,而保证不会淘汰。而实际上,这部分数据只是短暂的高频率访问,之后将会长期不访问,瞬时的高频访问将会造成这部分数据的引用频率加快,而一些新加入的缓存很容易被快速删除,因为它们的引用频率很低。

LRU和LFU侧重点不同,LRU主要体现在对元素的使用时间上,LFU主要体现在对元素的使用频次上。
本文详细介绍了两种常见的缓存淘汰算法:LRU(最近最少使用)和LFU(最不常使用)。LRU算法侧重于数据的访问时间,认为最近访问过的数据未来再次被访问的概率更高;LFU算法则关注数据的访问频次,通过记录每个数据项的使用次数来决定淘汰策略。
1254

被折叠的 条评论
为什么被折叠?



