Dalli Client比标准的memcached库快一点。
客户可以通过以下方式初始化:dc = Dalli::Client.new('localhost:11211')
但现在我需要使用unix socket创建客户端,例如文件“tmp / memcached.sock”(这是很好的加速)。阅读文档,代码和示例后,我不知道如何基于套接字创建客户端。任何帮助将不胜感激
答案 0 :(得分:1)
最后我做了一个让dalli使用unix套接字的提交。现在可以这样做:
Dalli::Client.new("/tmp/memcached.sock")
修改强> 搜索答案的人为什么unix socket不起作用 - 它已在2.x中删除(如果你想使用UNIXSocket,请使用最新的1.x,参考https://github.com/mperham/dalli/issues/273)
答案 1 :(得分: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')
如果这对你不起作用,可能需要创建套接字,或者它可能位于不同的位置。
答案 2 :(得分:0)
目前,只有Dalli的第1版支持套接字。修改您的Gemfile以引用v1分支或更改您的Dalli配置以使用端口引用Memcached。
# Gemfile
gem 'dalli', '~>1.1' # for socket support
在Dalli v2中删除了套接字支持。