hiredis getting err 1 REDIS_ERR_IO没有这样的文件或目录

时间:2015-02-20 04:28:19

标签: c redis hiredis

redisAsyncConnectUnix()返回一个redisAsyncContext(非NULL),其err = 1,即REDES_ERR_IO,带有errstr"没有这样的文件或目录" ,他们在找什么文件/目录?

Redis启动并运行,能够从redis-cli设置

1 个答案:

答案 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