我最近将我的代码从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库有关吗
答案 0 :(得分:1)
我使用memcached在Ubuntu上运行Rails 3.1.3应用程序,我使用Dalli gem与它进行交互,到目前为止还没有一个小故障。你可能想看一下。 Dalli Gem on GitHub