无法连接到托管的redis:就绪检查失败:不允许ERR操作

Sor*_*ami 3 redis node.js

我正在尝试连接到我通过Nodejitsu配置的IrisCouch上的托管redis.

认为我的server.js的相关部分:

var redisUrl = require('url').parse(config.REDIS_CONNECTION_URI);
var client = require('redis').createClient(redisUrl.port, redisUrl.hostname);
Run Code Online (Sandbox Code Playgroud)

我在我的server.js中没有与客户端进行任何交互,这就是为什么我认为抛出"不允许操作"的原因很奇怪,因为基本上我唯一的操作就是连接.我没有redis.conf文件,我相信我不需要一个,因为我自己没有托管redis实例.

日志:

 Express server listening on port 3000

/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:504
                throw callback_err;
                      ^
Error: Ready check failed: ERR operation not permitted
    at RedisClient.on_info_cmd (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:317:35)
    at Command.RedisClient.ready_check.send_anyway [as callback] (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:365:14)
    at RedisClient.return_error (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:500:25)
    at ReplyParser.RedisClient.init_parser (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:260:14)
    at ReplyParser.EventEmitter.emit (events.js:96:17)
    at ReplyParser.send_error (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/lib/parser/javascript.js:293:10)
    at ReplyParser.execute (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/lib/parser/javascript.js:176:22)
    at RedisClient.on_data (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:476:27)
    at Socket.<anonymous> (/Users/soroushhakami/dev/projects/projectx/node_modules/redis/index.js:79:14)
    at Socket.EventEmitter.emit (events.js:96:17)
Run Code Online (Sandbox Code Playgroud)

关于什么可能是问题的任何想法?

rob*_*lep 10

您需要client.auth()在创建客户端后直接调用:

var client = require('redis').createClient(redisUrl.port, redisUrl.hostname);
client.auth(PASSWORD);
Run Code Online (Sandbox Code Playgroud)

在令人困惑的事情是,当你不叫.auth()client ,但没有别的要么,你会得到一个失败的准备检查错误.