gpt4 book ai didi

ruby-on-rails - 在 Rails 4 中缓存静态页面的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-02 21:25:56 24 4
gpt4 key购买 nike

为了提高 Rails 4.0.2 应用程序的性能,我想缓存一些静态页面的输出:

class PagesController < ApplicationController

def home
end

def about_us
end

def contact
end

end

Rails Guide on Caching它说“页面缓存已从 Rails 4 中删除”并移至 gem 中。在 gem description然而,它表示它只会维持到 Rails 4.1。一些other observers还建议不要使用页面缓存并认可 Russian doll caching相反。

那么缓存一堆静态页面的最佳方法是什么?这些静态页面永远不会真正访问数据库,并且仅在用户登录时才会(轻微)更改?

感谢您的任何建议。

最佳答案

您仍然可以对静态页面使用片段缓存,尽管动态/数据库驱动页面的好处显然更加明显。如果您有很多正在渲染的部分或昂贵的 View 逻辑,那么值得考虑这样做。只需用以下内容包装页面的模板即可:

# about_us.html.erb
<% cache 'about_us' do %>
...
<% end %>

第一次在 config.action_controller.perform_caching = true 的环境中访问页面时,它将生成片段(在本例中是整个页面),并且它会下次重新加载时即可使用。当模板改变时,缓存摘要将会失效:

The template digest that's added to the cache key is computed by taking an md5 of the contents of the entire template file. This ensures that your caches will automatically expire when you change the template file.

http://api.rubyonrails.org/classes/ActionView/Helpers/CacheHelper.html

关于ruby-on-rails - 在 Rails 4 中缓存静态页面的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24353951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com