如何指定memcache服务器到Rack :: Session :: Memcache?

时间:2012-10-08 17:56:16

标签: ruby heroku memcached rack dalli

我正在尝试配置我的Rack应用程序以使用Memcache与Rack :: Session :: Memcache进行会话

如何为其提供选项(例如服务器,用户名和密码)?

目前我有

use Rack::Session::Memcache

但是我收到了错误

  中的

:没有内存缓存服务器(RuntimeError)

Heroku已将配置放在环境变量

MEMCACHE_PASSWORD:           
MEMCACHE_SERVERS:            
MEMCACHE_USERNAME:           

我知道我可以使用ENV ['MEMCACHE_PASSWORD']在Ruby中获取这些内容,但我不知道如何将它们交给Rack :: Session :: Memcache

编辑:或者Rack :: Session :: Dalli也很棒https://github.com/mperham/dalli

1 个答案:

答案 0 :(得分:5)

这个配置适用于Heroku,Dalli很聪明,并且知道查看环境变量

    require 'dalli'
    require 'rack/session/dalli'
    use Rack::Session::Dalli, :cache => Dalli::Client.new

https://github.com/mperham/dalli/commit/4ac5a99

阅读源代码后