共享模板的共享缓存?

时间:2013-03-25 15:59:39

标签: ruby-on-rails ruby haml

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

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

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

每个项目都有一个唯一的网址:domain.com/[:unique_hash]

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

1 个答案:

答案 0 :(得分: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,并为每个使用它的视图缓存此模板