2

我创建了一个新的 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 connection to mycache.redis.cache.windows.net:6380 failed - read ECONNRESET。

现在,当我使用 redis-cli 尝试连接redis-cli -h myhost -p 6380 -a the-auth-key它时,只需挂在命令行上,似乎没有建立连接,但也没有错误。它只是无所作为。如果我更改端口等,我会收到连接错误。所以我现在想知道我做错了什么?

我已经在不同的区域创建了另一个 redis 缓存计划(我采用了最大的,具有 99.9 SLA 等)。尽管如此,仍然无法建立联系。

任何帮助,将不胜感激。

4

1 回答 1

2

默认情况下,新缓存仅启用 SSL 端点(端口 6380)。一些客户端(如 redis-cli)不支持 SSL。您需要检查 node-redis 是否支持 SSL。如果您尝试使用不支持 SSL 的客户端连接到 SSL 端口,则会出现错误。

如果需要使用不支持 SSL 的客户端,有两种选择。一种是使用“stunnel”之类的应用程序在本地机器和 Redis 缓存之间创建 SSL 隧道。我知道 stunnel 适用于 redis-cli 等临时场景,但我不确定它在生产负载下的表现如何。

第二个选项是在 Azure 门户中启用非 SSL 终结点(端口 6379)。但是,我们不建议将其用于生产缓存,因为您的访问密钥和数据都将以明文形式发送。

于 2015-01-26T22:14:12.247 回答