2013-02-01 182 views
4

我正在重读this great article,偶然发现了一些我以前没有注意到的东西,这就是作者所说的懒惰缓存。准确地说,这里是上下文:什么是“懒惰缓存”?

他们知道如何使用错误文档做惰性缓存吗?

什么是惰性缓存以及错误文档与此相关的方式?我一直在使用这些短语重新编写和分离,但没有成功。

有人能解释一下是什么以及在哪里使用?我认为这只是一个不同的名称,我不知道是什么。

P.S.如果你知道如何更好地标记这个问题,请这样做!

回答

5

“错误文档”可能只是指HTTP状态码,特别是304 Not Changed状态。有人可能称之为'懒惰缓存',因为在静态网站上,您通常不需要进行任何设置。

如何将一个静态网站的工作:

  1. 浏览器请求的URL。
  2. 服务器返回响应,包括Last-modified: [last modified date of static file]标头。
  3. 浏览器稍后请求相同的URL,其中包括If-Modified-Since: [last modified date from first request]请求标头。
  4. 服务器返回304 Not Modified响应。

由于动态页面显然不能依赖文档的修改日期,因此您必须竭尽全力实施此类缓存。它的工作方式完全一样,但不是依靠HTTP服务器自动执行任何操作,而是根据数据库值(或其他值)计算出日期,并在每次响应时发送该日期。然后,当您收到包含If-Modified-Since标题的请求时,可以在计算最后修改日期所需的内容后跳过任何处理,然后发送304 Not Modified响应,这可能会节省大量带宽和CPU周期。

这里的an example in PHP让你开始,如果这就是你要找的。

+0

谢谢,我不确定它是否与304响应有关,因为它确切地表示“错误文档”,但它也可能是因为这是一个很好的建议,赏金是你的。 –