使用如下的Rails.cache.fetch甚至在我的开发环境中缓存(关闭缓存):
@boat_features = Rails.cache.fetch("boat_features",expires_in: 10.minutes) do BoatFeature.all end
有没有人遇到过这个?
解决方法
这很正常.这种缓存在开发过程中没有被关闭.在以前的应用程序中,这是一个问题,我们使用内存存储库,然后添加了一个中间件,在每个请求后执行Rails.cache.clear.
就像是
config.middleware.use ClearCache
在development.rb
然后你的ClearCache中间件看起来应该是这样的
class ClearCache def initialize(app) @app = app end def call(env) @app.call(env) ensure Rails.cache.clear end end
在Rails 3.2中,还有ActiveSupport :: Cache :: NullStore