SanbilaSanbila
术语表

LRU 缓存

最近最少使用缓存是计算机最古老的技术之一。当新项需要存储但缓存已满时,最久未被访问的项被移除。结果是:频繁访问的项留在缓存中,冷项自然离开。

在底层,LRU 缓存跟踪各项最近一次被访问的顺序。每次读或写都会把该项移到近用列表的最前;需要空间时,移除列表最后、即最久未被触碰的那一项。良好的实现用哈希表加链表以常数时间完成,所以跟踪近用几乎不增加开销。LRU 只是众多策略之一:LFU 淘汰使用频率最低的,FIFO 不管使用情况淘汰最早写入的,各自适合不同的访问模式。当最近的使用能预测不久后的使用时 LRU 胜出,而这正是剪辑师在一个工作时段里反复回到同一批镜头的方式。

对视频剪辑师来说,LRU 意味着你的缓存永远不会手动填满或停止工作。你设置一个大小预算(例如 50 GB),系统处理清理。固定的项被排除在淘汰之外,所以关键项目文件可以手动保护。

让 LRU 在这里理想的原因是:淘汰既便宜又完全可逆。SSD 上的代理是可丢弃的副本;权威原始文件存在云端。所以当缓存淘汰一个你几周没碰过的代理时,什么也不会丢失:一旦你重新打开那个项目,代理会被重新生成,或原始文件按需流式传输。正是这张安全网,让激进、自动的缓存适用于剪辑:你获得本地媒体的速度,却从不必看护磁盘空间或担心数据丢失。

示例

  • •设置 100 GB 缓存预算,接近上限时最老的未使用代理被移除
  • •固定当前客户项目,其代理在工作期间永不被淘汰
  • •手动触发清理,立即释放空间,不等自动淘汰

在 Sanbila 中

Sanbila 的本地 SSD 缓存运行 LRU 策略,可配置大小从 5 GB 到 500 GB。固定的项目受保护。原始素材保留在云端,所以任何被淘汰的代理都可以按需重新流式传输。

常见问题

LRU 和其他缓存淘汰策略有什么区别?+

LRU 淘汰最近最少使用的项,押注最近的使用能预测将来的使用。LFU(最不常用)则统计每项被触碰的次数并保留热门项,而 FIFO 不管使用情况、直接淘汰最早写入的项,各自适合不同的访问模式。对剪辑,LRU 最合适:你会反复回到本时段触碰过的片段,所以近用是你接下来需要什么的良好指标。

LRU 会删掉我还需要的代理吗?+

只会删你很久没碰过的,而且即便如此也不会真的丢失任何东西。被淘汰的代理只是本地副本;原始文件安全地留在云端,所以重新打开项目会重新生成代理或按需流式传输原始文件。你还可以固定一个项目,在你处理它期间把它的代理完全排除在淘汰之外。

Sanbila 如何使用 LRU 缓存?+

Sanbila 的本地 SSD 缓存采用 LRU 策略,大小预算由你设定(从几 GB 到数百 GB)。接近上限时,最近最少使用的未固定代理会被自动清除,你也可以手动触发清理。由于原始文件留在云端,任何被淘汰的代理都会按需重新流式传输或重建,所以缓存保持快速且自管理。

相关术语

参考资料

由 Sanbila 创始人 Lassana Toure 撰写。

最后更新: