通过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
。
我不相信username
。 node_redis
提供了两种用来login的方法: createClient
和auth
。 自述文件中有详细的内容,这里仅供参考:
redis.createClient(端口,主机,选项)
创build一个新的客户端连接。
port
默认为6379
,host
默认为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'); }); }