缓存客户端:从memcache-client切换到dalli

时间:2012-11-27 21:33:21

标签: ruby-on-rails ruby-on-rails-3 memcached unicorn dalli

我有一个使用Ruby On Rails 3.2.3创建的旧应用程序。

托管此应用的服务器使用nginx和unicorn。这个应用程序有一个使用memcached实现的缓存层,并连接到memcached使用“memcache-client”gem。

我想用dalli替换memcache-client。 我按照Github上dalli页面的说明进行了如何设置 并且在本地计算机上一切正常,但是当代码部署到服务器时,会出现以下错误:

ERROR -- : Could not find cache store adapter for dalli_store (no such file to load -- active_support/cache/dalli_store) (RuntimeError)  

设置dalli的步骤:

  1. gem'dalli'已添加到Gemfile
  2. config.cache_store =:dalli_store已添加到config / environments / production.rb
  3. Dalli安装在服务器上(版本2.5.0),但是更新后无法启动并抛出:

    ERROR -- : Could not find cache store adapter for dalli_store (no such file to load -- active_support/cache/dalli_store) (RuntimeError)
    /path_to_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/cache.rb:65:in `rescue in lookup_store'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/cache.rb:62:in `lookup_store'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application/bootstrap.rb:54:in `block (2 levels) in <module:Bootstrap>'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/core_ext/kernel/reporting.rb:11:in `block in silence_warnings'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/core_ext/kernel/reporting.rb:22:in `with_warnings'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application/bootstrap.rb:54:in `block in <module:Bootstrap>'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `block in run_initializers'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!'
    /path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
    /path_to_app/releases/20121982162903/config/environment.rb:5:in `<top (required)>'
    config.ru:4:in `require'
    config.ru:4:in `block in <main>'*
    

    如果其他人遇到类似问题或知道解决方法,请告诉我。

0 个答案:

没有答案