0

我们为我们的网络应用程序使用客户端模板。

但是我们有很多东西要生成。生成模板大约需要 4 到 5 秒,因此我们使用- cache(:action_suffix => 'tmpl_timeline') do它来缓存它。

这导致响应时间的改进,但仅在第一次访问项目之后。我们希望将其缓存共享tmpl_timeline给我们所有的项目。

每个项目都有一个独特的网址,例如:domain.com/[:unique_hash]

我已经看到我们可以修改控制器上缓存的路径,但我真的不知道它对我有什么帮助。

4

1 回答 1

0

好的,经过一天的测试,我找到了看起来不错的解决方案。

我做了一个这样的助手

    def template_cache
      if !Rails.cache.exist? 'tmpl_timeline_' + I18n.locale.to_s
        Rails.cache.write('tmpl_timeline_' + I18n.locale.to_s, render('shared/templates_timeline') )
      end

      Rails.cache.read( 'tmpl_timeline_' + I18n.locale.to_s ).html_safe
    end

现在每次部署时,我都会清理 rails Cache,并且会为使用它的每个视图缓存此模板

于 2013-03-26T11:07:05.740 回答