0

我想知道缓存静态内容(如关于页面)的最佳做法是什么。在这种情况下,如果使用类似的匹配器,就不可能有实际的动作

match 'about' => 'home#about'

整个页面都可以被缓存,除了布局包含一个对用户会话唯一的标题。所以使用:layout => false会起作用,因为动作中的所有内容都可以被缓存,而不是布局。

我用过

caches_action :about, :layout => false

在 HomeController 中,但我不相信它实际上在缓存,因为服务器报告“渲染”并且它始终需要 300-400 毫秒。

缓存此类内容的典型方式是什么?

4

1 回答 1

1

您的问题是您问题的这一部分: 除了布局包含用户会话独有的标题。

您可以在每个用户群上缓存整个页面。但这意味着页面必须为每个用户呈现一次,并且必须存储在硬盘上。根据您的用例,它可能是有意义的。

但是在 10 种情况下的 9 种情况下,您只想通过以下方式对非更改部分进行分段缓存:

<% cache('about_main') do %>

[...]

<% end %>

查看http://xyzpub.com/en/ruby-on-rails/3.2/caching.html了解不同类型缓存的详细视图。

于 2013-04-16T18:23:46.403 回答