Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Redis Połączenie przez gniazdo na Node.js

Aktualizacja: Moja odpowiedź poniżej nie jest naprawdę poprawna. Okazuje się, że rozwiązanie w kwestii, o której mówię poniżej, faktycznie nadal działa. To raczej przypadek, IMO, ale możesz zrobić coś takiego i powinno działać:

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

Jak widać z poniższego fragmentu kodu, zostanie on przekazany do net.createConnection który połączy się z gniazdem unixowym /tmp/redis.sock .

Stara odpowiedź:

Istnieje zamknięty problem dotyczący tego node_redis/issues/204. Wygląda na to, że bazowe API node.js net.createConnection zmieniło się od tego czasu. Wygląda na to, że byłaby to dość mała poprawka w exports.createClient node_redis funkcja:

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

Wygląda na to, że net.createConnection spróbuje połączyć się z gniazdem unixowym, jeśli zostanie wywołane z jednym argumentem, który wygląda jak ścieżka. Proponuję zaimplementować poprawkę i wysłać żądanie ściągnięcia, ponieważ wydaje się, że warto to wesprzeć.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sidekiq nie znajduje rekordów dla Rails Active Job

  2. Konwencja nazewnictwa i prawidłowe znaki dla klucza Redis

  3. Czy jest jakaś zalecana wartość COUNT dla polecenia SCAN / HSCAN w REDIS?

  4. Błąd jemalloc/jemalloc.h:Brak takiego pliku lub katalogu podczas tworzenia Redis

  5. Jak przekonwertować istniejącą relacyjną bazę danych na magazyn klucz-wartość?