2015-03-13 14 views
5

Tôi đang cố gắng để làm một ví dụ đơn giản của việc đọc và ghi từ bộ nhớ cache redis xanh và tôi nhận được lỗi nàyKhông thể kết nối với (các) máy chủ redis; để tạo bộ ghép kênh bị ngắt kết nối, hãy tắt AbortOnConnectFail. SocketFailure trên PING

Một ngoại lệ của loại 'StackExchange.Redis.RedisConnectionException' xảy ra ở StackExchange.Redis.dll nhưng không được xử lý trong mã người dùng

Thông tin bổ sung: Không thể kết nối với (các) máy chủ redis; để tạo bộ ghép kênh bị ngắt kết nối, hãy tắt AbortOnConnectFail. SocketFailure trên PING

Mã Tôi đang sử dụng là điều này, tôi đã thay đổi dns và mật khẩu

// 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

Ngoài ra, hãy thử kiểm tra giải pháp tại đây: http://stackoverflow.com/questions/30906891/cant-reconnect-to-azure-redis-via-stackexchange-redis/32852922#32852922 – Nigrimmist

Trả lời

6

Azure Redis cache chỉ cho phép các thiết bị đầu cuối SSL theo mặc định. Cách tiếp cận an toàn nhất là đặt "ssl = true" khi gọi ConnectionMultiplexer.Connect(). Ngoài ra, bạn có thể sử dụng Azure Portal để bật điểm cuối không phải SSL trên Bộ đệm ẩn Azure Redis của bạn, nhưng sau đó mật khẩu của bạn và tất cả dữ liệu sẽ được gửi bằng văn bản rõ ràng.

+0

Điều này có thể trùng lặp với http : //stackoverflow.com/questions/28725437/azure-redis-unable-to-connect-to-redis-servers/29837033#29837033 – yantaq

5

tôi đã cùng chính xác ngoại lệ và nó hóa ra là công ty tường lửa, mà là chặn cổng 6379, 6380.

tôi sao chép giao diện điều khiển ứng dụng thử nghiệm của tôi trong một môi trường bên ngoài mạng công ty và kết nối đã thành công. Vì vậy, nếu máy chủ Redis đang chạy trên internet và mạng của bạn đứng sau tường lửa, hãy đảm bảo các cổng đang mở.

+0

làm nhận xét: cổng 6380 cho SSL. Cổng 6379 cho kết nối không phải SSL. – Nigrimmist

Các vấn đề liên quan