作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在从 Dalli 连接到本地主机上运行的 Memcached 服务器时遇到问题。尽管我没有在本地运行 Memcached 的任何经验,但我已经将 Dalli 与 Memcachier Heroku 附加组件一起使用了一段时间,没有出现任何问题。
我用自制软件下载了 memcached,它似乎安装没有问题。我是这样运行的:
memcached -l 127.0.0.1 -p 11211 -vv
我可以连接到服务器并用它查询
telnet 127.0.0.1 11211
memcached 的详细输出记录了所有请求,所以我知道它运行良好。但是,我无法使用 Dalli 运行它。我正在尝试这样连接:
require 'dalli'
dc = Dalli::Client.new('127.0.0.1:11211')
dc.set('foo', 123)
在我运行完最后一条命令后,Dalli 不假思索的吐了出来
Dalli::RingError: No server available
from /Users/mac/.rvm/gems/ruby-1.9.3-p392/gems/dalli-2.6.4/lib/dalli/ring.rb:45:in `server_for_key'
from /Users/mac/.rvm/gems/ruby-1.9.3-p392/gems/dalli-2.6.4/lib/dalli/client.rb:347:in `perform'
from /Users/mac/.rvm/gems/ruby-1.9.3-p392/gems/dalli-2.6.4/lib/dalli/client.rb:199:in `set'
... 所以我遇到了这个连接错误,但我不知道为什么。这是奇怪的部分:Memcached 正在接收请求,但它从未成功连接。每当我尝试连接时,详细输出会吐出以下两行:
<6 new client connection
<6 connection closed.
那么这里发生了什么?这是身份验证的东西吗?我是不是忘记了命令行选项?
编辑: 弄清楚发生了什么 -- 除了我使用的是内置版本的 Memcached 之外,我做的一切都是正确的。安装了最新版本,一切正常。
最佳答案
实际上,这是一个非常简单的问题:我只是使用了一个过时的 Memcached 版本。不知道为什么会破坏 Dalli,但安装新的 Memcached 可以修复它。
关于ruby - 使用 dalli 运行 memcached 时出现连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17957833/
我是一名优秀的程序员,十分优秀!