对于这么简单的问题,我真的很抱歉。我只想确保我正确理解了FIFO缓存模型,并希望有人能帮助我:)如果缓存已满,LRU缓存将删除最近访问次数最少的条目。FIFO删除先前添加的条目(?)如果高速缓存需要空闲空间,则不同于其它条目(例如,如果'a‘- 'v’- 'f‘- 'k’是高速缓存中的条目,并且'a‘是最旧的条目,则如果高速缓存将需要空闲空间,则高速缓存将删除'a’)。
我说的对吗?
发布于 2013-03-27 02:21:13
你是对的。
可以把FIFO想象成通过隧道的汽车。第一辆进入隧道的汽车将是第一辆从另一边出来的汽车。
把LRU缓存看作是清理车库。你将丢弃你很长时间没有使用的项目,并保留你经常使用的项目。该算法的一种演变(对简单LRU的改进)将是丢弃长时间未使用的项目,并且如果您需要它们,替换它们的成本并不高。
发布于 2013-03-27 02:21:12
是的,LRU缓存基于缓存中最近最少使用的on对象,但FIFO基于缓存对象的时间。
发布于 2013-03-27 02:21:27
是的,这是正确的。FIFO表示先入先出,即严格按照到达顺序考虑(在本例中为删除)元素。LRU是最近最少使用的,未使用时间最长的缓存元素被逐出(凭直觉认为它不会很快被使用)。
https://stackoverflow.com/questions/15644499
复制相似问题