缓存以及缓存的三种数据淘汰机制

本文探讨了三种常见的缓存淘汰策略:FIFO(先进先出)、LRU(最近最少使用)和LFU(最不经常使用)。FIFO通过队列实现,淘汰最早进入缓存的数据;LRU基于数据的最近使用情况,淘汰最长时间未被访问的数据;LFU则记录数据的访问频率,淘汰使用次数最少的数据。这些策略在优化数据访问性能和管理有限缓存资源时起着关键作用。
摘要由CSDN通过智能技术生成

缓存

提升数据访问性能,数据备份在内存中,一般支持2种操作:

  • 将数据存到缓存的操作 put(key,value)
  • 获取缓存中数据的操作 get(key)

数据淘汰机制

假设我们有一个缓存,容量为3,接下来我们根据不同的数据淘汰机制做分析:
在这里插入图片描述

淘汰最先放入缓存的数据 FIFO(first in first out)

依次将数据k1,k2,k3存入cache中,当我们继续put(k4,v4)时,缓存是满的,这个时候就需要将缓存中的数据进行淘汰,
根据FIFIO机制,将最先入队的数据从缓存中移除掉,最后将k4存储到缓存中。

可以使用队列来实现

淘汰最久没有使用(put || get)的数据 LRU(least recently used)

无论是put还是get都表示对数据的使用。

依次将数据k1,k2,k3存入cache中,当我们继续put(k4,v4)时,缓存是满的,这个时候就需要将缓存中的数据进行淘汰,
根据LRU机制,需要将最久没有使用过的数据从缓存中移除。

那么按照先后,我们最先put的数据是k1,是最长时间没有被用到的数据了&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值