0

redisAsyncConnectUnix() は、err=1 を持つ redisAsyncContext (NULL ではない) を返します。つまり、REDIS_ERR_IO と errstr "No such file or directory" を持っています。どのファイル/ディレクトリを探していますか?

Redis が稼働中で、redis-cli から SET できました

4

1 に答える 1

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
于 2015-02-20T07:44:19.300 に答える