![](/img/trans.png)
[英]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.