【发布时间】:2026-01-25 05:15:02
【问题描述】:
我正在学习计算机中的缓存和内存层次结构。在某处我看到了关于缓存中 FIFO 和 LRU 的比较。我对真正的问题感到好奇,而不仅仅是在理论上。
所以,我想问你,这些例子的最佳选择是什么:
- 看电影
- 银行所有用户的储蓄账户每月应计利息
- 运行包含许多图形元素的视频游戏
- 在表中搜索特定值
- 在网站上冲浪
【问题讨论】:
我正在学习计算机中的缓存和内存层次结构。在某处我看到了关于缓存中 FIFO 和 LRU 的比较。我对真正的问题感到好奇,而不仅仅是在理论上。
所以,我想问你,这些例子的最佳选择是什么:
【问题讨论】:
这里要意识到的重要一点是缓存策略确实会因情况而异。 适用于 Netflix 电影流媒体服务的政策可能与 YouTube 不同。
话虽如此,我将尝试回答并陈述我对每个案例的假设。
看电影: FIFO 缓存将是一个不错的选择,因为手头的任务是线性事件。当你看一部电影时,你更有可能倒带 10 秒,而不是完全重新开始看电影。因此,在这里使用 FIFO 缓存技术会很有用。
银行所有用户的储蓄账户每月应计利息:我会在这里使用 LRU 政策,因为有些账户可能比其他账户更一致地应计利息。因此,对于 X 账户本月确实有利息,而 Y 账户在过去 10 个月内一直在累积利息这一事实,先进先出策略是幼稚的。
运行包含大量图形元素的视频游戏:LRU 缓存策略在这里效果最佳,因为这些元素在视频游戏的某些部分中可能比其他部分更频繁地使用。
在表格中搜索特定值:这个实在是太宽泛了,说不出来……真的取决于表格的用途。
在网站上冲浪:如果您只是经常访问几个网站的人,我建议您采用 LRU 政策。但是,如果您是在站点之间跳来跳去的人,那么 FIFO 策略可能会有所帮助。
希望这会有所帮助!
【讨论】: