蓝色动力网络

找网吧系统
就到网吧系统下载站

常见缓存算法

作者:chen人气:0来源:网吧系统下载站2014-07-30 17:29:45

广告载入中...

网吧中使用的无盘平台,其中关键的技术之一就是虚拟磁盘的缓存算法。这次我们向大家介绍几种缓存中常见的算法,让各位对缓存算法有一个比较初步的了解。

贝莱蒂算法(Belady's Algorithm)

最有效率的缓存算法会丢掉未来最长时间内不使用的数据。这种理想情况被称作贝莱蒂最优算法或者千里眼算法。由于要预计数据要多久后才被使用基本上是不可能的,所以这种算法没有实际的可操作性。它的作用在于为不同的缓存算法订立一个优劣标准。

最近最少使用算法(LRU,Least Recently Used)

最近最少使用算法的思路是丢弃近段时间内最少被使用的数据。要实现这种算法需要跟踪数据何时被使用,用这种方法来筛选去近一段时间被最少使用次数的数据其代价往往是昂贵的。它的实现往往是通过在缓存数据上设立时间标志位,用以跟踪最近最少被使用的缓存数据。一个数据每被使用一次,其他数据的时间标志位数值就要增加。

最近最频繁使用算法(MRU,Most Recently Used

最近最频繁使用算法和最近最少使用算法相反,它会首先丢弃最近最常使用的数据。有观点认为“当文件在顺序访问时,MRU算法是最佳选择”,抱有这样观点人也认为在反复进行大量数据的随机存储时,MRU因为倾向于保留旧的数据,随意比LRU算法有着更高的命中率。MRU算法经常用于旧的数据更常被用到的情况下。

伪LRU算法(PLRU,Pseudo-LRU)

因为缓存有着大量的关联性,LRU算法实现的代价往往比较昂贵。如果实际情况在丢弃任一个最近最少使用的数据就能满足,那么伪LRU算法就派上用场了,它为每一个缓存数据设立一个标志位就可以工作。

继续阅读:缓存

分享吧~提高逼格:

栏目分类

热门下载

More
官方微信二维码蓝色动力官方微信公众号