2012-11-20 4 views
1

créer un db Redis sur nodejitsu et a obtenu un URI complet tel que:NodeJS connecter-Redis avec nodejitsu URI

nodejitsu:nodejitsudb11158161232.redis.irstack.com:[email protected]ck.com 

Connect-Redis veut un hôte, port, etc ... Quelqu'un sait d'un outil facile comme je peux juste passer cette chaîne? Ça n'a pas l'air de fonctionner quand on met l'hôte à ça - mongodb semble bien fonctionner avec ce schéma.

Répondre

0

donc plongée dans la source, il semble que ce soit impossible d'analyser une chaîne de dsn. url.parse ne renvoie pas les informations nécessaires, il doit donc être décomposé plus avant.

La version complète de dsn possède également le protocole redis: //, qui doit être présent pour que cela fonctionne. Parce que ma chaîne Redis dsn locale n'a pas de mot de passe/utilisateur il y a un chèque que dans le cas où il manque:

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