我創建一個nodejitsu Redis的分貝,並獲得一個完整的URI,例如:連接的NodeJS,Redis的與nodejitsu URI
nodejitsu:nodejitsudb11158161232.redis.irstack.com:[email protected]ck.com
連接,Redis的想要一個主機,端口等..任何人都知道一個簡單的我可以傳遞這個字符串嗎?在將主機設置爲該主機時似乎沒有工作--mongodb似乎對此架構正常工作。
我創建一個nodejitsu Redis的分貝,並獲得一個完整的URI,例如:連接的NodeJS,Redis的與nodejitsu URI
nodejitsu:nodejitsudb11158161232.redis.irstack.com:[email protected]ck.com
連接,Redis的想要一個主機,端口等..任何人都知道一個簡單的我可以傳遞這個字符串嗎?在將主機設置爲該主機時似乎沒有工作--mongodb似乎對此架構正常工作。
使用url.parse
http://nodejs.org/docs/latest/api/url.html來解析該網址到它的部件如主機,端口等....
所以它看起來像它的無法解析的DSN字符串源跳水。 url.parse不會返回必要的信息,因此必須進一步細分。
完整的dsn也有redis://協議 - 它必須在這裏才能工作。由於我的本地redis dsn字符串沒有密碼/用戶,因此如果缺少密碼,將會進行檢查:
var redisUrl = 'redis://nodejitsu:nodejitsudb3051531232.redis.irstack.com:[email protected]com:6379';
var redis = url.parse(redisUrl);
app.use(express.session({
secret: settings.sessionSecret,
store: new RedisStore({host: redis.hostname, port: redis.port, pass: redis.auth ? redis.auth.substring(redis.auth.indexOf(':') + 1): null})
}));
無法將此解析爲我需要的部分而無需我手動分割它 – cyberwombat