0

在尝试了更多之后,我很困惑 Radiant 如何与 Rack Cache 一起工作。据我了解,Radiant 仅使用 Rack::Cache 到服务器作为客户端缓存的一种方式。这样 Rack::Cache 将检查客户端副本是否仍然新鲜,然后决定是否需要从 Radiant 项目再次生成内容。如果是这样,Radiant 只需要在 /tmp/cache/meta 文件夹中存储 etag 等元信息,但为什么还要存储实体信息,您可以在其中找到完整的 html、css 等。

除非 Radiant 缓存也用作客户端缓存。假设用户 A 已经提供了一个页面,然后用户 B 进来了,如果该页面仍然是“新鲜的”,虽然他之前没有提供过该页面,但该页面将从缓存中提供(来自实体文件夹)直接地。

我尝试在生产模式下运行一个辐射项目,当我第一次提供页面时,生产日志会显示请求,但是刷新页面,生产日志不显示任何请求。这应该是正确的,因为页面请求状态是304 Not Modified,所以根本没有到达辐射项目。但是,如果我执行强制刷新或使用其他浏览器请求页面,生产日志也不会显示请求,尽管它显示状态为 200 OK。所以我可以说Radiant也作为服务器缓存工作,这意味着内容被缓存在服务器端,只要它没有过期,不同的请求可以从这个缓存中服务器?

我发现这个讨论http://groups.google.com/group/radiantcms/browse_thread/thread/d1e5f2836024d27f但看起来其他人说 Radiant 也只能作为客户端缓存工作。看起来我发现了什么令人困惑。

非常感谢。

4

1 回答 1

0

我最终回答了我自己的问题,我对此进行了详细的解释

于 2011-07-31T11:29:01.490 回答