sql >> Database teknologi >  >> NoSQL >> Redis

Redis Connection via socket på Node.js

Opdatering: Mit svar nedenfor er ikke rigtigt. Det viser sig, at løsningen i det problem, jeg nævner nedenfor, faktisk stadig virker. Det er mere en tilfældighed, IMO, men du kan gøre sådan noget, og det burde virke:

var redis = require('redis'),
    client = redis.createClient('/tmp/redis.sock');

Som du kan se fra kodestykket nedenfor, vil dette blive videregivet til net.createConnection som vil forbinde til unix-socket /tmp/redis.sock .

Gamle svar:

Der er et lukket problem om denne node_redis/issues/204. Det ser ud til, menes, at den underliggende node.js net.createConnection API siden har ændret sig. Det ser ud til, at det ville være en ganske lille rettelse i node_redis' exports.createClient funktion:

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;
};

Det ser ud som om net.createConnection vil forsøge at oprette forbindelse til en unix-socket, hvis den kaldes med et argument, der ligner en sti. Jeg foreslår, at du implementerer en rettelse og sender en pull-anmodning, da dette virker som noget, der er værd at støtte.



  1. Mongoose find() returnerer ikke resultat

  2. Skinner Puma løber tør for Redis-forbindelser

  3. MongoDB $sekund

  4. MongoDB database kryptering