2016-07-15 40 views
0

我有一個Web應用程序,由現場的支持臺用戶用來管理用戶帳戶。該應用程序使用LINQ查詢以編程方式從我們的數據庫中提取數據。在最近的修補程序中,數據庫脫機了幾個小時,使應用程序無法支持桌面用戶。使用高可用性數據庫或數據設置Web應用程序?

我想實現一個數據可用於應用程序的方法,以便如果發生停機時間,查詢仍然可以返回結果。迄今爲止我發現的最成功的方法是利用EntityFramework.Plus。雖然這對於一般緩存非常有用,但如果數據庫在過期時停機並重新創建緩存以獲取最新數據,我仍然預見停機時間。我對設置第二個數據庫以外的選項感興趣。

的應用:

  • 實體框架6
  • MVC每天4
  • 〜20個用戶
  • 一個數據庫表6-8和10-20行每個表中的數據。
  • 不需要在數據庫關閉時寫入數據的能力,只能讀取。

鑑於我的應用程序的使用,有什麼建議可以讓數據高度可用並且在數據庫停機的情況下是最新的?第二級緩存是要走還是有更好的方法?

+0

什麼是數據庫大小?似乎足夠小以適應記憶。爲什麼不把數據庫放入同一臺機器? – lstern

回答

0

如果數據庫很小,則可以緩存所有內容並將緩存用作數據庫故障切換或將數據庫放入同一臺機器。

如果數據庫是很大的,所以你需要考慮什麼是best cache policy爲您的應用然後您可以搜索實現這個政策,或只是自己實現一個流行的緩存系統,你將無法緩存的一切。我還建議您仔細檢查一下,如果您確實不需要實施到期政策,或者在數據過舊時發出警告。

如果您打算將緩存同時用作故障切換和提供更快響應的方式,請務必跟蹤每個緩存條目時間戳記,因爲您必須在嘗試從緩存條目中獲取數據之前檢查緩存數據庫。 (如果緩存不再新鮮,你只會打數據庫)

相關問題