缓存算法(页面置换算法)-FIFO、LFU、LRU

本文介绍了缓存淘汰算法的三种常见策略:FIFO(先进先出)、LFU(最近最少使用)和LRU(最近最久未使用)。FIFO简单易实现,通过双向链表和hashmap进行数据管理。LFU基于访问频率,通过数组或小顶堆+hashmap实现。LRU则依赖于数据的访问时间,常见实现包括数组更新时间戳和链表+hashmap,其中链表实现能快速定位和删除最近最久未使用的数据项。
摘要由CSDN通过智能技术生成
1. FIFO -- 先进先出
如果一个数据最先进入缓存中,则应该最早淘汰掉。也就是说,当缓存满的时候,应当把最先进入缓存的数据给淘汰掉。
实现:
利用一个双向链表保存数据,当来了新的数据之后便添加到链表末尾,如果Cache存满数据,则把链表头部数据删除,然后把新的数据添加到链表末尾。在访问数据的时候,如果在Cache中存在该数据的话,则返回对应的value值;否则返回-1。如果想提高访问效率,可以利用hashmap来保存每个key在链表中对应的位置。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值