Aktualizacja: Moja odpowiedź poniżej nie jest naprawdę poprawna. Okazuje się, że rozwiązanie w kwestii, o której mówię poniżej, faktycznie nadal działa. To raczej przypadek, IMO, ale możesz zrobić coś takiego i powinno działać:
var redis = require('redis'),
client = redis.createClient('/tmp/redis.sock');
Jak widać z poniższego fragmentu kodu, zostanie on przekazany do net.createConnection
który połączy się z gniazdem unixowym /tmp/redis.sock
.
Stara odpowiedź:
Istnieje zamknięty problem dotyczący tego node_redis/issues/204. Wygląda na to, że bazowe API node.js net.createConnection zmieniło się od tego czasu. Wygląda na to, że byłaby to dość mała poprawka w exports.createClient
node_redis funkcja:
exports.createClient = function (port_arg, host_arg, options) {
var port = port_arg || default_port,
host = host_arg || default_host,
redis_client, net_client;
net_client = net.createConnection(port, host);
redis_client = new RedisClient(net_client, options);
redis_client.port = port;
redis_client.host = host;
return redis_client;
};
Wygląda na to, że net.createConnection
spróbuje połączyć się z gniazdem unixowym, jeśli zostanie wywołane z jednym argumentem, który wygląda jak ścieżka. Proponuję zaimplementować poprawkę i wysłać żądanie ściągnięcia, ponieważ wydaje się, że warto to wesprzeć.