Bijwerken: Mijn antwoord hieronder is niet echt correct. Het blijkt dat de oplossing in het onderstaande probleem nog steeds werkt. Het is meer toeval, IMO, maar je kunt zoiets als dit doen, en het zou moeten werken:
var redis = require('redis'),
client = redis.createClient('/tmp/redis.sock');
Zoals je kunt zien in het onderstaande codefragment, wordt dit doorgegeven aan net.createConnection
die verbinding maakt met de unix-socket /tmp/redis.sock
.
Oud antwoord:
Er is een gesloten probleem over dit node_redis/issues/204. Het lijkt, dacht, dat de onderliggende node.js net.createConnection API sindsdien is veranderd. Het lijkt erop dat het een vrij kleine oplossing zou zijn in exports.createClient
van node_redis functie:
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;
};
Het lijkt alsof net.createConnection
zal proberen verbinding te maken met een unix-socket als het wordt aangeroepen met één argument, dat eruitziet als een pad. Ik raad je aan een oplossing te implementeren en een pull-verzoek te sturen, aangezien dit iets lijkt dat de moeite van het ondersteunen waard is.