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

It was not possible to connect to the redis server(s); to create a disconnected multiplexer, disable AbortOnConnectFail. SocketFailure on PING

我正在尝试制作一个从 azure redis 缓存读取和写入的简单示例,但出现此错误

An exception of type 'StackExchange.Redis.RedisConnectionException' occurred in StackExchange.Redis.dll but was not handled in user code

Additional information: It was not possible to connect to the redis server(s); to create a disconnected multiplexer, disable AbortOnConnectFail. SocketFailure on PING

我用的代码是这样的,我改了dns和密码

// Get Connection instance
ConnectionMultiplexer connection = ConnectionMultiplexer
    .Connect("xx.redis.cache.windows.net,ssl=false,password=...");
// Get database
IDatabase databaseCache = connection.GetDatabase();
// Add items
databaseCache.StringSet("foo1", "1");
databaseCache.StringSet("foo2", "2");
// Add items with experation value
databaseCache.StringSet("foo3", "3", TimeSpan.FromMinutes(20));

Stopwatch sw = new Stopwatch();

sw.Start();

// Get item value
string foo1Value = databaseCache.StringGet("foo1");

sw.Stop();

Console.WriteLine("Elapsed={0}", sw.Elapsed);
return View();

Azure Redis 缓存默认仅启用 SSL 端点。最安全的方法是在调用 ConnectionMultiplexer.Connect() 时设置 "ssl=true"。

或者,您可以使用 Azure 门户在您的 Azure Redis 缓存上启用非 SSL 终结点,但您的密码和所有数据将以明文形式发送。

我遇到了完全相同的异常,结果是公司 防火墙阻止了端口 6379、6380。

我在公司网络外部的环境中复制了我的测试控制台应用程序,并且连接成功。 因此,如果 Redis 服务器 运行 在互联网上并且您的网络在防火墙后面,请确保端口已打开。