redisAsyncConnectUnix()返回一个redisAsyncContext(非NULL),其err = 1,即REDES_ERR_IO,带有errstr"没有这样的文件或目录" ,他们在找什么文件/目录?
Redis启动并运行,能够从redis-cli设置
答案 0 :(得分:2)
redisAsyncConnectUnix用于使用Unix域套接字连接到服务器,该套接字由伪文件实现。此文件的路径必须作为参数提供:
redisAsyncContext *redisAsyncConnectUnix(const char *path);
例如,您可以使用:
path = /tmp/redis.socket
但是,您需要检查服务器(必须在与客户端相同的机器上运行)是否正在侦听相同的路径。检查Redis配置文件中以下参数的定义:
unixsocket /tmp/redis.socket
unixsocketperm 755
确保路径有效,访问权限正确。您可以通过运行以下命令检查服务器端的配置是否正常:
redis-cli -s /tmp/redis.socket