缓存淘汰策略

本文介绍了缓存淘汰的三种常见策略:FIFO(先进先出)、LRU(最近最少使用)和LFU(最近使用次数最少)。FIFO按照数据进入缓存的顺序进行淘汰;LRU基于数据最近被访问的频率,淘汰最近最少使用的数据;LFU则是淘汰使用次数最少的数据。每种策略都有其具体的实现方式和适用场景。
摘要由CSDN通过智能技术生成

常见的缓存淘汰策略有三种:
1.FIFO(First In First out):先见先出,淘汰最先近来的页面,新进来的页面最迟被淘汰(队列)。
2.LRU(Least recently used):最近最少使用,淘汰最近不使用的页面。
3.LFU(Least frequently used): 最近使用次数最少, 淘汰使用次数最少的页面。
下面进行详细介绍:

一、FIFO

按照“先进先出(First In,First Out)”的原理淘汰数据。如果一个数据最先进入缓存中,则应该最早淘汰掉。
1、利用一个双向链表保存数据,
2、当来了新的数据之后便添加到链表末尾,
3、如果Cache存满数据,则把链表头部数据删除,
4、然后把新的数据添加到链表末尾。
5、在访问数据的时候,如果在Cache中存在该数据的话,则返回对应的value值;
6、否则返回-1。如果想提高访问效率,可以利用hashmap来保存每个key在链表中对应的位置。

二、LRU

least recently used,最近最少使用,如果数据最近被访问过,那么将来访问的几率也很高。
1、新数据插入到链表头部;
2、每当缓存命中(即缓存数据被访问),则将数据移到链表头部;
3、当链表满的时候,将链表尾部的数据丢弃。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值