Mise à jour : Ma réponse ci-dessous n'est pas vraiment correcte. Il s'avère que la solution du problème que je mentionne ci-dessous fonctionne toujours. C'est plus une coïncidence, IMO, mais vous pouvez faire quelque chose comme ça, et ça devrait marcher :
var redis = require('redis'),
client = redis.createClient('/tmp/redis.sock');
Comme vous le voyez dans l'extrait de code ci-dessous, cela sera transmis à net.createConnection
qui se connectera au socket unix /tmp/redis.sock
.
Ancienne réponse :
Il y a un problème fermé à propos de ce node_redis/issues/204. Il semble, pensé, que l'API node.js net.createConnection sous-jacente ait changé depuis. Il semble que ce serait un tout petit correctif dans exports.createClient
de node_redis fonction :
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;
};
Il semble que net.createConnection
tentera de se connecter à un socket unix s'il est appelé avec un argument, qui ressemble à un chemin. Je vous suggère d'implémenter un correctif et d'envoyer une demande d'extraction, car cela semble être quelque chose qui mérite d'être pris en charge.