通过Node.JS连接到RedisToGo

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

我相信你所拥有的URL的scheme是:

redis://username:password@host:port

我不相信usernamenode_redis提供了两种用来login的方法: createClientauth 。 自述文件中有详细的内容,这里仅供参考:

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

创build一个新的客户端连接。 port默认为6379host默认为127.0.0.1 。 如果你的redis-server和节点运行在同一台计算机上,那么端口和主机的默认值可能就没有问题了。 具有以下可能属性的对象中的options

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

createClient()返回一个RedisClient对象,它在这里的所有例子中都被命名为client

client.auth(密码,callback)

连接到需要validation的Redis服务器时,连接后必须将AUTH命令作为第一个命令发送。 这可能很难协调重新连接,就绪检查等。为了更容易, client.auth() password ,并将在每次连接后发送,包括重新连接。 在对第一个AUTH命令发送的响应之后, callback仅被调用一次。

我还必须将参数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'); }); }