我读了一篇论文,它使用了术语“冷缓存”和“热缓存”。冷缓存和热缓存概念是什么意思?我参观这但我还需要更多东西。
答案1
嗯,简而言之:热缓存很有用,而冷缓存则没有。事实上,使用冷缓存可能很危险。
您会看到,缓存的全部意义在于保持经常访问的数据可访问。例如,DNS 缓存将在本地存储您最近请求的名称解析的结果,并且当再次请求相同的解析时,它们的结果已经可用并立即提供服务,而无需查询更大的、可能是场外的名称数据库。换句话说,您的计算机无需向互联网服务提供商的域名服务器询问 IP 地址即可谷歌网站因为你的计算机已经知道它 - 你的 DNS缓存是温暖的。
但如果你从不请求谷歌的IP,那么它就不会在你的缓存中。 A冷缓存要么太陈旧而无用 - 因为它包含的数据很可能也老的成为准确的 -或者完全是空的,和空的足够寒冷的。
但通常空总比旧的好 - 当然,这高度依赖于正在缓存的数据。空的很容易处理,因为它只需要填充——这是理所当然的——但是旧的缓存需要纠错。这是开发和维护缓存系统的主要后勤问题 -您如何知道缓存的数据是最新的,如果不是最新的,该怎么办?
我不会回答这些问题中的任何一个 - 它们都依赖于实现,并且可能远远超出了我的能力 - 但应该理解的是,所有缓存系统都带有一些固有的风险的不准确。它与领土相适应。风险可能并不大——通常只是处理时间增加几纳秒的风险。缓存系统将根据缓存设计者实施的任何故障保护检查请求的数据,如果发现需要,则缓存系统将例如查询 ISP 的 DNS 来获取 google 的 ip,一切都很好。
这缓存更暖,不过,较少的有冒了风险。 这热缓存的好处将珍贵的数据放在身边超过这风险的冷缓存的缺点或者......可能你不应该缓存。
答案2
一般来说,冷缓存是尚未填充的缓存。因此,如果您的缓存很冷,则必须使用可能较慢的方法来检索信息。这通常是在应用程序启动后不久或查询类型发生显着变化后出现的情况。
相反,热缓存中充满了您最近或经常检索的信息。
关于 ext 文件系统和目录结构,这里有一些有关 Linux 虚拟文件系统 (VFS) 中缓存通常如何工作的信息:http://www.tldp.org/LDP/tlk/fs/filesystem.html