你知道常用的缓存淘汰策略吗?

有没有看过缓存框架的源码?缓存空间不够怎么办?

常见的缓存策略是FIFO、LRU、LFU

首先,我们来说说

FIFO:

FIFO,意思是First in  First out,中文翻译为先进先出,新插入的数据放在FIFO队列的尾部,数据在FIFO队列中顺序移动,淘汰FIFO队列中头部的数据

LUR:

LRU,意思是Least Recently Used,中文翻译为最近很少使用,根据数据的历史访问记录来进行淘汰,如果数据最近被访问过,那么将来被访问的几率也就更高

新数据插入链表的头部,每当缓存数据被访问,则数据移动到链表头部。当链表满的时候,将链表尾部的数据丢弃。

LFU:

LFU,意思是Least Frequently Used,中文翻译为最新不经常使用,根据数据的历史访问记录频率来进行淘汰,如果数据最近被访问频率很高,那么将来被访问的几率也就更高

把数据加入链表中,按频次排序,一个数据被访问过,他的频次+1,发生淘汰的时候,把频次低的淘汰掉

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容