[英]Setting Asset Cache Expiration in Rails / Cloudfront / Heroku
[英]How to activate page cache for Rails with Heroku & Cloudfront?
网站分析人员说我没有激活页面缓存, https://tools.pingdom.com/# ! /bDj23F/www.anthonygalli.com 。 我尽了一切努力。 我正在使用rails "4.2.7.1"
在视图中
<%= render :partial => @posts, cached: true %>
在控制器中
fresh_when last_modified: @posts.created_at.utc, etag: @posts
在production.rb中
config.action_controller.perform_caching = true
config.action_controller.asset_host = 'd37p52igaahgm9.cloudfront.net'
您可以在Cloudfront发行版中做的一件事是添加自定义标头参数。此处, Google和Amazon并不完全同意,因为Google建议使用Expires
标头,而Amazon建议使用Cache-Control max-age
参数/值,因此您必须选择一个,因为如果您指定两个,亚马逊将仅处理Cache-Control
我们建议您使用Cache-Control max-age指令而不是Expires标头字段来控制对象缓存。 如果您同时为Cache-Control max-age和Expires指定值,则CloudFront仅使用Cache-Control max-age的值。
如果您的云前发行版来自S3存储桶,则可以使用Amazon S3控制台将标头添加到对象中
在值字段中,输入适用的值:
对于“缓存控制”字段,输入:
max-age=number of seconds that you want objects to stay in a CloudFront edge cache
对于“过期”字段,以HTML格式输入日期和时间。
见下文
据我所知,有3种类型的Rails兑现
页面缓存=>用于所有要放入缓存的页面..主要用于静态页面
动作缓存=>顶部放置控制器动作
片段缓存=>用于视图的一部分/或用于逻辑等
实现观察者和清除程序以使缓存在某些更改/条件上失效也是必需的,否则将再次呈现n
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.