2015-03-13 27 views
5

我試圖讓閱讀一個簡單的例子,從蔚藍的Redis的緩存寫,我得到這個錯誤無法連接到redis服務器;要創建一個斷開的多路複用器,請禁用AbortOnConnectFail。 SocketFailure上PING

型「StackExchange.Redis.RedisConnectionException」的異常出現在StackExchange.Redis.dll但未在用戶代碼中處理

其他信息:無法連接到redis服務器;要創建一個斷開的多路複用器,請禁用AbortOnConnectFail。 SocketFailure上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(); 
+0

此外,請嘗試檢查解決方案在這裏:http://stackoverflow.com/questions/30906891/cant-reconnect-to-azure-redis-via-stackexchange-redis/32852922#32852922 – Nigrimmist 2015-09-29 20:13:00

回答

6

Azure的Redis的緩存只默認啓用了SSL端點。最安全的方法是在調用ConnectionMultiplexer.Connect()時設置「ssl = true」。

或者,您可以使用Azure門戶啓用Azure Redis緩存中的非SSL端點,但密碼和所有數據將以明文形式發送。

+0

這可能是http ://stackoverflow.com/questions/28725437/azure-redis-unable-to-connect-to-redis-servers/29837033#29837033 – yantaq 2015-04-24 19:50:30

5

我有完全一樣的例外,它竟然是企業防火牆,該防火牆阻止端口6379,6380

我複製了我的測試控制檯應用程序環境中的企業網絡之外,連接成功。 因此,如果Redis服務器在互聯網上運行,並且您的網絡位於防火牆後面,請確保端口已打開。

+0

作爲備註: 6380 SSL端口。 6379端口用於非SSL連接。 – Nigrimmist 2015-09-28 09:15:07

相關問題