我在nodejitsu上创建了一个Redis db,并获得了完整的URI,如下所示:
nodejitsu:nodejitsudb11158161232.redis.irstack.com:f327c9sj29sj26e80b8e975fbebb4@nodejitsudb3058169sj32.redis.irstack.comConnect-redis需要主机、端口等...有谁知道一种简单的方法,我可以把它传递给这个字符串?在设置主机时似乎不起作用- mongodb似乎可以很好地使用这种模式。
发布于 2012-11-21 04:52:46
使用url.parse http://nodejs.org/docs/latest/api/url.html将该url解析为其各个部分,如主机、端口等。
发布于 2012-11-22 02:33:59
因此,深入研究源代码,它看起来无法解析dsn字符串。url.parse没有返回必要的信息,因此必须进一步分解。
完整的dsn也有redis://协议-它必须在那里才能工作。因为我的本地redis dsn字符串没有密码/user,所以有一个检查,以防它丢失:
var redisUrl = 'redis://nodejitsu:nodejitsudb3051531232.redis.irstack.com:fd470c971946e8der75fbebb4@nodejitsudb305813frt232.redis.irstack.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})
}));https://stackoverflow.com/questions/13481833
复制相似问题