我们使用客户端模板作为我们的网络应用程序。
但我们要生成吨的东西。生成模板需要4到5秒,因此我们使用- cache(:action_suffix => 'tmpl_timeline') do
来缓存它。
这导致响应时间的改善,但仅在首次访问项目之后。我们希望将此tmpl_timeline
的缓存共享给我们的所有项目。
每个项目都有一个唯一的网址:domain.com/[:unique_hash]
我已经看到我们可以修改控制器上缓存的路径,但我真的不知道它对我有什么帮助。
答案 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,并为每个使用它的视图缓存此模板