连接到Azure Redis缓存

连接到Azure Redis缓存,azure,azure-caching,Azure,Azure Caching,我正在尝试使用以下代码连接到预览Azure Redis缓存 var options = new ConfigurationOptions(); options.EndPoints.Add("myname.redis.cache.windows.net", 6379); options.Ssl = true; options.Password = "VeryLongKeyCopiedFromPortal"; var connection = ConnectionMultiplexer.Connec

我正在尝试使用以下代码连接到预览Azure Redis缓存

var options = new ConfigurationOptions();
options.EndPoints.Add("myname.redis.cache.windows.net", 6379);
options.Ssl = true;
options.Password = "VeryLongKeyCopiedFromPortal";
var connection = ConnectionMultiplexer.Connect(options);
当我这样做的时候,我得到了一个例外

无法连接到redis服务器;要创建断开连接的多路复用器,请禁用AbortOnConnectFail


什么原因会导致这种情况?

SSL的端口是6380。端口6379用于非SSL。如果未设置,StackExchange.Redis默认为这些端口,因此您应该能够从代码中删除该端口,如下所示:

var options = new ConfigurationOptions();
options.EndPoints.Add("myname.redis.cache.windows.net");
options.Ssl = true;
options.Password = "VeryLongKeyCopiedFromPortal";
var connection = ConnectionMultiplexer.Connect(options);
或者,您可以使用连接字符串而不是ConfigurationOptions对象:

var connection = ConnectionMultiplexer.Connect(
    "myname.redis.cache.windows.net,ssl=true,password=VeryLongKeyCopiedFromPortal");

我也有同样的问题。确保正确复制了密钥:)

我的问题是我没有从UI中正确复制base 64编码的密钥。考虑下面的两个键。我通常通过双击来复制/粘贴未断开的字符串。当我双击键时,我得到了第一组数据,而不是整个字符串

8Rs0Uvx7aaaaaaaaTjaoTu11bz0qOm/o5E8dtWPXtrc=
8Rs0Uvx7aaaaaaaaTjaoTu11bz0qOm
从C#的本地,您可以这样使用

"localhost, port:6379, password=value"

我试过这两种方法,但都犯了同样的错误。@Craig,这应该行得通;我通过了以下测试,并通过SSL进行了讨论:和到echo;完整的连接字符串是
“redacted.redis.cache.windows.net,password=somebase64,ssl=True”
实际上,这四个选项都可以,但这两个非ssl选项非常不推荐:这些测试对我来说都失败了,我不知道为什么。我所做的只是从门户中的缓存名称中复制名称,密码是门户中生成的主键。我对这个答案投了否决票,原因有几个:1)这个问题已经有7年历史了,在7年前发布的那天收到了一个可接受的答案。2) 这根本不是问题的答案,因为问题是关于Azure Redis作为一项服务而不是本地安装的Redis。@DanielMann-你说得对,我真诚地道歉,我会更加注意更新主题的答案。很抱歉