我来自 Symfony2 PHP,目前正在迁移到 Rails 4,我对 Rails 3 及之前的版本一无所知。我正在使用最后一个待办事项列表来处理我的 web 项目,以在此 rails 4 中启用动态缓存。在 Symfony2 中,有内置功能可以轻松设置 Edge Side Include 行为。其中一些功能:
- Sf2 具有模板功能以插入
<esi:include src="http://..." />
带有路由器名称作为参数的esi include 标签
http://symfony.com/doc/current/book/http_cache.html#using-edge-side-includes
{{ render_esi(url('latest_news', { 'max': 5 })) }}
- Sf2 内置了反向代理网关,以将具有 esi 标签的缓存页面与来自每个包含的 esi 标签 url 的相应响应合并。
http://symfony.com/doc/current/book/http_cache.html#edge-side-includes Symfony2 带有一个用 PHP 编写的反向代理(也称为网关缓存)。启用它,您的应用程序的可缓存响应将立即开始缓存。安装它同样简单。每个新的 Symfony2 应用程序都带有一个预先配置的缓存内核 (AppCache),它包装了默认的 (AppKernel)。缓存内核是反向代理。
我有学习页面、动作、片段缓存。我还找到了 Rack::ESI。我知道有middleware
成语,但我不知道它是什么。我仍然不知道如何正确设置所有这些信息。我的 esi 标签不会像 Sf2 中那样替换为来自 esi 标签 url 的相应响应。我认为这是因为我没有在 Rails 中配置反向代理中间件。所以我的问题是,在 Rails 4 中,如何实现 Edge Side Include 和 HTTP Cache Reverse Proxy 行为?
问候。