redisAsyncConnectUnix() は、err=1 を持つ redisAsyncContext (NULL ではない) を返します。つまり、REDIS_ERR_IO と errstr "No such file or directory" を持っています。どのファイル/ディレクトリを探していますか?
Redis が稼働中で、redis-cli から SET できました
redisAsyncConnectUnix は、疑似ファイルによって具体化される Unix ドメイン ソケットを使用してサーバーに接続するために使用されます。このファイルのパスは、パラメーターとして指定する必要があります。
redisAsyncContext *redisAsyncConnectUnix(const char *path);
たとえば、次のように使用できます。
path = /tmp/redis.socket
ただし、サーバー (クライアントと同じマシンで実行する必要があります) が同じパスをリッスンしていることを確認する必要があります。Redis 構成ファイルで次のパラメーターの定義を確認します。
unixsocket /tmp/redis.socket
unixsocketperm 755
パスが有効で、アクセス権が正しいことを確認してください。次を実行して、サーバー側で構成が正常であることを確認できます。
redis-cli -s /tmp/redis.socket