ruby on rails-Dalli Client-如何与unix套接字连接



Dalli Client是一个比标准memcached库更快的gem。

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

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

最后,我承诺让dalli使用unix套接字。现在有可能做到:

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

编辑:对于那些正在寻找unix套接字不起作用的答案的人-它已在2.x中删除(如果您想使用UNIXSocket,请使用最新的1.x,请参阅https://github.com/mperham/dalli/issues/273)

您可以使用memcached -d -u someuser -s /tmp/memcached.sock -a 00755这样的命令用套接字启动memcached。该命令将以dameon的身份运行memcached,用户设置为someuser,套接字位置为/tmp/memcached.sock,权限为775。

默认情况下,您的安装可能已经创建了这个套接字,所以请尝试用上面套接字的位置替换URI,它可能只使用以下内容即可工作:

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

如果这对你不起作用,可能需要创建套接字,或者它可能在不同的位置。

目前,只有Dalli的版本1支持套接字。修改您的Gemfile以引用v1分支,或更改您的Dalli配置以使用port.引用Memcached

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

Dalli v2中已放弃套接字支持。

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

最新更新