我正在使用Redis与https://github.com/mranney/node_redis库结合使用。createClient()给了我一个看起来像redis://me:978287c0b670694673d045f08b2e0371@icefish.redistogo.com:9393的url,但我不知道如何使用它,因为Redis只接受主机和端口。
发布于 2011-09-03 09:26:59
我相信您所拥有的URL的方案是:
redis://username:password@host:port。
我不相信username被使用了。node_redis提供了两种登录方法:createClient和auth。readme中有详细信息,但此处是相关部分以供参考:
redis.createClient(端口、主机、选项)
创建新的客户端连接。port默认为6379,host默认为127.0.0.1。如果您在同一台计算机上运行redis-server作为节点,那么端口和主机的默认值可能就可以了。具有以下可能属性的对象中的options:
Redis协议回复解析器要使用的
parser:。如果安装了该模块,则默认为hiredis。这也可以设置为javascript.return_buffers:默认值为false。如果设置为true,则批量数据回复将作为节点缓冲区对象而不是JavaScript字符串返回。在这里的所有示例中,createClient()都会返回一个名为client的RedisClient对象。
Client.auth(密码,回调)
当连接到需要鉴权的Redis服务器时,必须将AUTH命令作为连接后的第一条命令发送。这可能很难与重新连接、就绪检查等协调。为了使这更容易,client.auth()隐藏password,并在每次连接后发送它,包括重新连接。在发送对第一个AUTH命令的响应之后,callback只被调用一次。
发布于 2012-06-12 06:30:59
我还必须在调用redis.createClient()时添加参数no_ready_check: true。
client = redis.createClient(settings.redis.port,
settings.redis.host,
{no_ready_check: true});
if (settings.redis.password) {
client.auth(settings.redis.password, function() {
console.log('Redis client connected');
});
}https://stackoverflow.com/questions/7290118
复制相似问题