我很困惑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也只是作为客户端缓存工作。看起来很困惑我发现了。
非常感谢。