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