我创建了一个新的Azure Redis缓存,这需要将近5分钟才能完成创建。我正在使用node-redis包,这是我的代码
var client = redis.createClient(
process.env.REDIS_PORT || 6379,
process.env.REDIS_HOST || '127.0.0.1'
);
if(process.env.REDIS_HOST) {
client.auth(process.env.REDIS_KEY);
}
是的,这些环境变量已正确设置,它只是挂起一段时间并引发错误:Redis连接到mycache.redis.cache.windows.net:6380失败 - 读取ECONNRESET。
现在,当我使用redis-cli尝试与redis-cli -h myhost -p 6380 -a the-auth-key
连接时,它只是挂在命令行上,似乎没有建立连接,但也没有错误。它什么都不做。如果我更改端口等,我会收到连接错误。所以我现在想知道我做错了什么?
我在不同的区域创建了另一个redis缓存计划(我使用了最大的,99.9 SLA等)。但是,没有可能的联系。
任何帮助都将不胜感激。
答案 0 :(得分:2)
新缓存默认情况下仅启用SSL端点(端口6380)。某些客户端(如redis-cli)不支持SSL。您需要检查node-redis是否支持SSL。如果您尝试使用不支持SSL的客户端连接到SSL端口,您将会遇到错误。
如果您需要使用客户端不支持SSL,则有两种选择。一种是使用像stunnel'这样的应用程序在本地计算机和Redis缓存之间创建SSL隧道。我知道stunnel适用于像redis-cli这样的临时场景,但是我不确定它在生产负载下的表现如何。
第二个选项是在Azure门户中启用非SSL端点(端口6379)。但是,我们不建议将其用于生产缓存,因为您的访问密钥和数据都将以纯文本格式发送。