我的理解是在Rails 3中使用http缓存,我所要做的就是在动作中添加这样的东西
expires_in(10.seconds, :public => true)
但是当我这样做时,除了在浏览器中执行http缓存之外,它还会尝试写入tmp / cache(该操作的相同用户请求不会像预期的那样到达服务器)
这是为什么?如何阻止Rails写入缓存目录以进行http缓存?
PS:我正在使用nginx + passenger
答案 0 :(得分:2)
写入/ tmp / cache的内容是Rack::Cache::FileStore,可通过config.cache_store进行配置;它是一个rails3本机代理缓存;
如果你想禁用它:
config.action_dispatch.rack_cache = nil
答案 1 :(得分:0)
另一种解决方案是不使用:public => expires_in中的true设置。看来这个设置是Rack :: Cache将响应写入缓存的原因。如果您将其设置为private => true(默认值),这不会发生