2012-08-06 22 views
6

有時(並不總是)我得到ServiceStack.Redis:無法連接:體育:0

「無法連接:體育:0」

嘗試使用ServiceStack時從Redis的獲得價值時錯誤.Redis。有誰知道這可能意味着什麼?我正在使用PooledRedisClientManager來獲取客戶端。

回答

8

我相信你可以通過增加池的ConnectTimeout來解決這個問題。我把它設置得非常低(10毫秒),所以當池創建時,有些客戶端在短時間內無法連接。如果池返回其中一個客戶端,它會拋出這個錯誤(「0」端口是因爲它沒有連接 - 它不知道它沒有連接到什麼端口)。延遲後,所有客戶端都能夠連接。

我將連接超時增加到500毫秒,問題消失 - 客戶端全部連接,儘管其中一些連接阻塞了幾百毫秒。但是這比錯誤要好得多。

+0

似乎已經工作。最初我以爲連接超時是在幾秒鐘內,所以沒有意外將其設置爲10沒有幫助我:) – Klotin 2012-09-14 13:27:08

-2

這可能意味着端口號或主機地址是錯誤的。