通过Node.JS连接到RedisToGo

scr*_*tch 12 redis node.js

我正在将Redis To Go与https://github.com/mranney/node_redis库结合使用.Redis给了我一个看起来像的网址,redis://me:978287c0b670694673d045f08b2e0371@icefish.redistogo.com:9393但我不知道如何使用createClient()它只需要主机和端口.

Mic*_*ley 19

我相信你的URL方案是:

redis://username:password@host:port.

我不相信username是用的.node_redis提供了两种用于登录的方法:createClientauth.自述文件中有详细信息,但此处参考的是相关部分:

redis.createClient(端口,主机,选项)

创建新的客户端连接. port默认为6379host 默认为127.0.0.1.如果您redis-server在与节点相同的计算机上运行,​​则端口和主机的默认值可能很好. options在具有以下可能属性的对象中:

  • parser:Redis协议回复解析器使用哪个.hiredis如果安装了该模块,则默认为 .这也可以设置为 javascript.
  • return_buffers:默认为false.如果设置为true,则批量数据回复将作为节点缓冲区对象而不是JavaScript字符串返回.

createClient()返回 此处所有示例中RedisClient命名的对象client.

client.auth(密码,回调)

连接到需要身份验证的Redis服务器时,AUTH必须在连接后将该 命令作为第一个命令发送.这可能会非常棘手与重新连接,准备检查等进行协调,以使这更容易,client.auth()储物箱password和每一个连接,重新连接包括后将发送. callback在对发送的第一个AUTH命令的响应之后,仅调用一次.

  • 非常感谢!我的巨大旅程是我没有意识到长链是密码(相反,我尝试插入我的帐户密码!).我的最终代码看起来像这样:`var redis = require('redis'),client = redis.creatClient(9393,"icefish.redistogo.com"); client.auth("9efv34fcfdfdfdf",function(){console.log("Connected!");});` (12认同)

小智 10

我还必须将参数no_ready_check:true添加到对redis.createClient()的调用中.

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');
  });
}
Run Code Online (Sandbox Code Playgroud)