首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用dalli运行memcached时出现连接错误

使用dalli运行memcached时出现连接错误
EN

Stack Overflow用户
提问于 2013-07-30 21:33:21
回答 2查看 3.4K关注 0票数 2

我在连接到本地主机上运行的Memcached服务器时遇到了问题。虽然我没有在本地运行Memcached的经验,但我已经在使用Memcachier插件使用了一段时间,没有任何问题。

我用自制软件下载了memcached,它的安装似乎没有问题。我是这样运行的:

代码语言:javascript
复制
memcached -l 127.0.0.1 -p 11211 -vv

我可以连接到服务器并使用

代码语言:javascript
复制
telnet 127.0.0.1 11211

memcached的详细输出记录了所有请求,因此我知道它运行得很好。但是,我不能和达利一起运行。我试着像这样连接:

代码语言:javascript
复制
require 'dalli'
dc = Dalli::Client.new('127.0.0.1:11211')
dc.set('foo', 123)

在我运行最后一个命令之后,Dalli不屈不挠地吐了出来。

代码语言:javascript
复制
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正在接收请求,但它从未成功地连接。每当我试图连接时,下面两行就会被冗长的输出抛出:

代码语言:javascript
复制
<6 new client connection
<6 connection closed.

这是怎么回事?这是身份验证吗?我是不是忘了一个命令行选项?

编辑:搞清楚了到底是怎么回事--我做的一切都很正确,只是我使用了Memcached的内置版本。安装了最新版本,一切都很好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-01 15:58:30

其实很简单的问题:我只是在使用过时的Memcached版本。不知道为什么会毁了达利,但安装了一个新的Memcached修复了它。

票数 3
EN

Stack Overflow用户

发布于 2013-09-30 21:18:25

这破坏了dalli,因为dalli使用的是更新的二进制memcached协议,而不是旧的纯文本协议。

它这样做是为了提高性能,但不幸的是,在比memcached 1.4更早的版本中,dalli无法使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17957833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档