Redis
 sql >> база данни >  >> NoSQL >> Redis

Redis връзка чрез сокет на Node.js

Актуализация: Моят отговор по-долу всъщност не е правилен. Оказва се, че решението в проблема, който споменавам по-долу, всъщност все още работи. По-скоро е съвпадение, IMO, но можете да направите нещо подобно и трябва да работи:

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

Както виждате от кодовия фрагмент по-долу, това ще бъде предадено на net.createConnection който ще се свърже с unix сокета /tmp/redis.sock .

Стар отговор:

Има затворен проблем за този node_redis/issues/204. Изглежда, мислех, че основният node.js net.createConnection API оттогава се е променил. Изглежда, че ще бъде доста малка корекция в exports.createClient на node_redis функция:

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

Изглежда, че net.createConnection ще се опита да се свърже с unix сокет, ако е извикан с един аргумент, който изглежда като път. Предлагам ви да приложите корекция и да изпратите заявка за изтегляне, тъй като това изглежда като нещо, което си струва да се подкрепи.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. StackExchange.Redis - Използване на LockTake / LockRelease

  2. Как работи PubSub в BookSleeve/ Redis?

  3. Производителност на Redis на многоядрен процесор

  4. Достъп до докеризиран redis от хост на Windows

  5. Скриптът се опита да създаде глобална променлива