缓存算法

1. 最不经常使用算法(LFU):Least Frequently Used

  • 基本思想:“如果一个数据在最近一段时间内使用次数很少,那么在将来一段时间内被使用的可能性也很小”
  • 实现:数组存储数据项,每个数据项存放到map中,用key存放使用频次,用value存放位置,每次数据项被命中后,则次数加一,当新的数据项到来时,遍历,将次数最小的淘汰,将新数据插入

2. 最近最少使用算法(LRU):Least Recently User

  • 基本思想:“如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小”
  • 实现:可利用数组以及时间戳标记来实现或者使用链表与map配合使用

3. 先进先出算法(FIFO):最先进入的数据,最先被淘汰

  • 基本思想:“最近刚访问的,将来访问的可能性比较大”
  • 实现:双向链表

4. 拓展

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

缓存淘汰算法系列一

缓存淘汰算法系列二

关于常见的几种缓存算法