我正在尝试使用以下代码连接到预览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"
导致这种情况的原因是什么?
答案 0 :(得分:10)
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");
答案 1 :(得分:1)
我有同样的问题。确保正确复制了密钥:)
我的问题是我没有从UI正确复制base 64编码密钥。考虑下面的两个键。我通常复制/粘贴非破坏字符串的方法是双击。当我双击键时,我得到了第一组数据,而不是整个字符串。
8Rs0Uvx7aaaaaaaaTjaoTu11bz0qOm/o5E8dtWPXtrc=
8Rs0Uvx7aaaaaaaaTjaoTu11bz0qOm
答案 2 :(得分:-1)
从本地在 C# 中,您可以像这样使用...
"localhost, port:6379, password=value"