FIFO 、LRU、LFU三种算法

转载 2016年06月11日 11:21:32
提到缓存,有两点是必须要考虑的:
1)缓存数据和目标数据的一致性问题。
2)缓存的过期策略(机制)。
     
其中,缓存的过期策略涉及淘汰算法。常用的淘汰算法有下面几种:
1FIFOFirstIn First Out,先进先出
2LRULeastRecently Used,最近最少使用
3LFULeastFrequently Used,最不经常使用
      
注意LRULFU的区别。LFU算法是根据在一段时间里数据项被使用的次数选择出最少使用的数据项,即根据使用次数的差异来决定。而LRU是根据使用时间的差异来决定的。
       
一个优秀的缓存框架必须实现以上的所有缓存机制。例如:Ehcache就实现了上面的所有策略。

相关文章推荐

几种缺页中断算法(FIFO,LRU与LFU)的实现过程

原博客地址http://blog.chinaunix.net/uid-13246637-id-5185352.html   最近在做笔试题,其中虚拟存储管...

LRU、LFU、FIFO算法总结

一、概述 (1)FIFO:First In First Out,先进先出 (2)LRU:Least Recently Used,最近最少使用 (3)LFU:Least Frequently Us...

java动态缓存成长小纪(二)——缓存算法的实现:LRU、LFU、FIFO

缓存算法也叫作淘汰算法,主要是为了当JVM空间不足时,用来清理掉缓存的。那么要清理的话,我们先清理掉哪些缓存呢?按照正常人的思维,当然是接下来一段时间内不大可能用到的缓存啦!根据这个思路,我们需要做出...

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

1. FIFO -- 先进先出 如果一个数据最先进入缓存中,则应该最早淘汰掉。也就是说,当缓存满的时候,应当把最先进入缓存的数据给淘汰掉。 实现: 利用一个双向链表保存数据,当来了新的数据之后便...

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

1. FIFO -- 先进先出 如果一个数据最先进入缓存中,则应该最早淘汰掉。也就是说,当缓存满的时候,应当把最先进入缓存的数据给淘汰掉。 实现: 利用一个双向链表保存数据,当来了新...

OPT算法,FIFO算法,LRU算法,LFU算法的java程序

import java.util.Scanner; public class systemLab3 { final static int NUM=20; final static int FRAM...

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

缓存算法(页面置换算法)-FIFO、LFU、LRU   在前一篇文章中通过leetcode的一道题目了解了LRU算法的具体设计思路,下面继续来探讨一下另外两种常见的Cache算法:FIFO、LFU ...

FIFO、LRU、OPT这三种置换算法的缺页次数

考虑下述页面走向:           1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6      当内存块数量分别为3时,试问FIFO、LRU、OPT这三种...

FIFO、LRU、OPT这三种置换算法的缺页次数

考虑下述页面走向:           1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6      当内存块数量分别为3时,试问FIFO、LRU、OPT这三种置换算法...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FIFO 、LRU、LFU三种算法
举报原因:
原因补充:

(最多只允许输入30个字)