2011-05-18 45 views

回答

3

我選擇通過明確地忽略錯誤來處理這個問題,因爲如果緩存組件關閉,我的應用程序功能就會失敗。你當然可以實現一個日誌語句或任何你想要的,但我選擇了什麼都不做。

我創建了自己的Cache類,並使用它來隔離我的域代碼與Dalli。這裏是相關的部分:

def Cache.get(key) 
    Configuration.dalliClient.get(key)  
rescue Dalli::RingError 
    nil 
end 
+0

有趣的..可能是一個好主意,設置某種標誌 - 緩存關閉 - 哪些被測試每次發生某些操作,所以我們可以開始使用緩存一次連接已建立? – minikomi 2011-08-17 04:45:20

+3

你可以設置一個標誌,儘管我選擇不這樣做,因爲它會涉及一個額外的語句來檢查每個Cache使用情況的標誌,而且如果你不是這樣,你還必須找出一種方法來了解memcached是否回來了每次都不會打電話給他。日誌語句或某種通知管理memcached失敗的方式似乎更合適。 – 2011-09-06 01:04:07

+0

可能值得注意的是,在某些情況下,這不是一個好主意。 如果服務器使用大量高速緩存來保持活動狀態,那麼如果您爲服務器的使用付費,則允許服務器活動並完全消失,而不是在緩存服務器關閉時簡單地死亡 – Tim 2012-12-11 04:19:29

相關問題