From 98cb2d4c17d9cbc7934169f8e1b22cebae0bf2bf Mon Sep 17 00:00:00 2001 From: adarqui Date: Sat, 21 Sep 2013 15:42:54 -0400 Subject: [PATCH] a little logic to allow nodebb to use a unix domain socket rather than tcp/ip. unix dom sock has less overhead/latency. --- src/redis.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/redis.js b/src/redis.js index 5413f58651..91bd583f85 100644 --- a/src/redis.js +++ b/src/redis.js @@ -4,7 +4,15 @@ winston = require('winston'), nconf = require('nconf'); - RedisDB.exports = redis.createClient(nconf.get('redis:port'), nconf.get('redis:host')); + var redis_socket_or_host = nconf.get('redis:host') + if(redis_socket_or_host.indexOf('/')>=0) { + /* If redis.host contains a path name character, use the unix dom sock connection. ie, /tmp/redis.sock */ + RedisDB.exports = redis.createClient(nconf.get('redis:host')) + } + else { + /* Else, connect over tcp/ip */ + RedisDB.exports = redis.createClient(nconf.get('redis:port'), nconf.get('redis:host')); + } if (nconf.get('redis:password')) { RedisDB.exports.auth(nconf.get('redis:password')); @@ -55,4 +63,4 @@ -}(module)); \ No newline at end of file +}(module));