[英]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
提供了两种用于登录的方法: createClient
和auth
。 自述文件中有详细信息,但以下是相关部分供参考:
redis.createClient(端口,主机,选项)
创建一个新的客户端连接。
port
默认为6379
,host
默认为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.