与乘客获取MemcachedClientError的Memcached gem问题

时间:2011-06-09 06:41:37

标签: ruby-on-rails memcached passenger

我最近将我的代码从Rails 2.3.4迁移到rails 3并开始使用乘客。我也在使用memcached gem,我随机看到Memcached :: ClientError和Memcached :: ServerIsMarkedDead。我读过这篇文章,其中说明乘客智能产生与基于memcache socket的连接存在问题。所以我尝试在他们的网站上提到修复

CACHE = MemCache.new memcache_options
CACHE.servers = '127.0.0.1:11211'
begin
   PhusionPassenger.on_event(:starting_worker_process) do |forked|
     if forked
       # We're in smart spawning mode, so...
       # Close duplicated memcached connections - they will open themselves
       CACHE.reset
     end
   end
# In case you're not running under Passenger (i.e. devmode with mongrel)
rescue NameError => error
end

但我仍然得到同样的错误。它与memcached库有关吗

1 个答案:

答案 0 :(得分:1)

我使用memcached在Ubuntu上运行Rails 3.1.3应用程序,我使用Dalli gem与它进行交互,到目前为止还没有一个小故障。你可能想看一下。 Dalli Gem on GitHub