鉴于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