Aggiornamento: La mia risposta di seguito non è davvero corretta. Si scopre che la soluzione nel problema che menziono di seguito funziona ancora. È più una coincidenza, IMO, ma puoi fare qualcosa del genere e dovrebbe funzionare:
var redis = require('redis'),
client = redis.createClient('/tmp/redis.sock');
Come puoi vedere dallo snippet di codice qui sotto, questo verrà passato a net.createConnection
che si collegherà al socket unix /tmp/redis.sock
.
Vecchia risposta:
C'è un problema chiuso su questo node_redis/issues/204. Sembra, pensato, che l'API node.js net.createConnection sottostante sia cambiata da allora. Sembra che sarebbe una soluzione piuttosto piccola in exports.createClient
di node_redis funzione:
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;
};
Sembra che net.createConnection
tenterà di connettersi a un socket unix se viene chiamato con un argomento, che sembra un percorso. Ti suggerisco di implementare una correzione e inviare una richiesta pull, poiché sembra qualcosa che valga la pena supportare.