鑑於Heroku Cedar沒有varnish提供的http緩存,我想使用Rack::Cache
。 我已被告知,軌道3.1.1具有Rack::Cache
活躍在默認情況下,我只需要確保在配置:Rails 3.1和Http頁面緩存
config.action_controller.perform_caching = true
,我需要選擇一個緩存存儲,對於這個實驗,我使用:
config.cache_store = :memory_store
在頁面的作用我想緩存我已經添加了以下行:
response.header['Cache-Control'] = 'public, max-age=300'
response.header['Expires'] = CGI.rfc1123_date(Time.now + 300)
使用此代碼來很好地工作Varni sh,第一個請求將返回200,隨後的(5分鐘)將返回304
。
Rails 3.1和Heroku Cedar Stack不會發生這種情況。 我確實在響應中獲得了這些標題,但隨後的請求返回了200而不是304.
我在做什麼錯?謝謝。
你是對的!有沒有辦法在稍高一點的地方緩存?這值得麼? (例如,如果我在rails.ru之前在rails應用程序中設置rack :: cache,那該怎麼辦?) – soulnafein
不是真的... Rack :: Cache是你最好的選擇。在你的環境中,儘可能的高,因爲它避免了整個Rails http堆棧,它應該給你所需要的性能。 – leonardoborges
哦,我會很感激,如果你可以投票了原來的答案,如果它幫助你:) – leonardoborges