繁体   English   中英

通过Node.JS连接到RedisToGo

[英]Connecting to RedisToGo through Node.JS

我将Redis To Go与https://github.com/mranney/node_redis库结合使用。 Redis给我的网址看起来像redis://me:978287c0b670694673d045f08b2e0371@icefish.redistogo.com:9393但我不知道如何使用它,因为createClient()仅占用主机和端口。

我相信您拥有的网址的方案是:

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()此操作, client.auth()会存储password ,并将在每次连接(包括重新连接)后发送password 在发送对第一个AUTH命令的响应后, callback仅被调用一次。

我还必须在对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');
  });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM