2011-06-09 61 views
0

Dalli客户端比标准的memcached库更快一些。Dalli客户端 - 如何连接unix套接字?

客户可以通过初始化:dc = Dalli::Client.new('localhost:11211')

但现在我需要的是创建一个使用Unix套接字客户端,例如文件“TMP/memcached.sock”(这是很好的加速)。在阅读文档,代码和示例后,我不知道如何基于套接字创建客户端。任何帮助,将不胜感激

回答

1

最后我做了一个承诺,让dalli使用unix套接字。现在,将有可能做到这一点:

Dalli::Client.new("/tmp/memcached.sock") 

编辑: 人们寻找答案,为什么Unix套接字不工作 - 它在2.x中被删除(如果你想使用UNIXSocket,请使用最新的1.x,请参阅https://github.com/mperham/dalli/issues/273

0

您可以通过使用类似memcached -d -u someuser -s /tmp/memcached.sock -a 00755这样的命令启动一个套接字memcached该命令将运行Memcached作为一个dameon,用户设置为someuser和套接字位置将是/tmp/memcached.sock与775的权限

您的安装可能已经默认创建此套接字所以尽量与上述插座的位置替换URI,它可能使用这样的事情只是工作:

dc = Dalli::Client.new('/tmp/memcached.sock') 

如果这并未” t为你工作的套接字可能需要创建或它可能在不同的位置上。

+0

IRB(主):005:0>达利:: Client.new( “/ TMP/memcached.sock”)组( “A”, “B”) SocketError:的getaddrinfo :名称或服务未知 – dfens 2011-06-09 21:14:55

+0

看起来Dalli只支持联网的memcached用法。 – 2011-06-09 22:31:24

0

此时,只有Dalli的版本1支持套接字。修改您的Gemfile以引用v1分支或将您的Dalli配置更改为使用端口引用Memcached。

# Gemfile 
gem 'dalli', '~>1.1' # for socket support 

套接字支持被丢弃在Dalli v2中。

引用:https://github.com/mperham/dalli/issues/273

相关问题