Rack_cache

时间:2017-01-09 13:15:56

标签: ruby-on-rails caching rack

我正在使用rack_cache来缓存一些使用Redis的响应。我想用rspec测试,所以我确信缓存有效。我可以这样做:

config.action_dispatch.rack_cache = true

问题是因为我想在单个测试中设置此设置,而不是整个应用程序。

对于高级缓存,我们可以使用bock:

config.around(:each, :caching) do |example|
  caching = ActionController::Base.perform_caching
  ActionController::Base.perform_caching = example.metadata[:caching]
  example.run
  ActionController::Base.perform_caching = caching
end

有没有办法为Rack cache做类似的事情?

1 个答案:

答案 0 :(得分:0)

我在运行测试之前最终退出了redis缓存:

redis_keys = $redis.keys('*')
$redis.del(redis_keys) if redis_keys.count > 0