如何在测试环境中设置dalli缓存?

时间:2013-01-25 12:30:23

标签: ruby-on-rails caching dalli

我将使用Dalli缓存作为键值存储。

通常在生产和开发环境中我们有行

config.cache_store = :dalli_store

然后我们可以使用Rails.cache构造来读取和写入缓存。

但是在测试环境中我们通常没有这个配置行。

为了测试我的存储逻辑,在测试环境中设置缓存的写法是什么?

P.S。我正在使用Linux(Ubuntu)

2 个答案:

答案 0 :(得分:3)

dalli是缓存服务的客户端(memcached) 无论环境如何,都在全局设置,即在config / application.rb

config.cache_store = :dalli_store

缓存在测试环境中被停用是一种常见的方法,请检查config / environments / test.rb

config.action_controller.perform_caching = false

因此您可以为测试环境启用它,但它可能会导致一些奇怪的冲突 最好的方法可能是只为特定的规格启用它:

before do # enable caching
  @caching_state = ActionController::Base.perform_caching
  ActionController::Base.perform_caching = true
end

after do # disable caching
  ActionController::Base.perform_caching = @caching_state
end

答案 1 :(得分:-1)

我假设你在Ubuntu上做了一个google的“ubuntu install memcached rails”,并找到了几页详细信息。以下是要点。

安装memecache

sudo apt-get install memcached

重新启动memcahce

/etc/init.d/memcached restart