node-redis client.auth回调是否替代ready事件?

时间:2012-03-22 07:23:20

标签: node.js redis

来自github上的node-redis文档:

  

注意:您对client.auth()的调用不应该在准备好之内   处理程序。如果你这样做错了,客户端会发出错误   看起来像这样错误:准备检查失败:错误操作没有   允许

那么这是否意味着当client.auth执行传递给它的回调时,可以安全地假设此连接已准备好用于正常命令?如果不是那么应该兼顾两个回调函数,确定哪一个被称为第二个?

1 个答案:

答案 0 :(得分:2)

如果不需要auth,node-redis会向服务器发送INFO以检测它何时就绪,然后触发就绪事件(参见https://github.com/mranney/node_redis)。

当需要auth时,看起来redis只会在auth完成后才开始接受命令(参见http://redis.io/commands/auth)。

所以我要做的是在未进行身份验证时响应“ready”事件并在进行身份验证时响应auth回调(可能在创建客户端时使用了{no_ready_check: true}。)