我已經繼承了一個系統,其中來自SQL RDBMS的不太可能更改的數據緩存在Web服務器上。服務器場中的應用程序緩存是否值得複雜?
這是個好主意嗎?我理解它的邏輯 - 我不需要需要查詢數據庫中的每個請求數據,因爲它不會更改,所以只需將其保存在內存中並保存數據庫調用。但是,我不禁想到這並不能給我任何東西。 SQL是基本的。例如:
SELECT StatusId, StatusName FROM Status WHERE Active = 1
這給我少於10條記錄。我的數據庫與我的Web服務器位於同一個數據中心。現代數據庫是設計的來存儲和調用數據。我的應用程序緩存真的比數據庫調用更有效嗎?
問題出在我有服務器場時,必須想出一種方法來保持服務器之間的高速緩存同步。也許我低估了數據庫調用的成本。保持數據在內存中的性能優勢是否值得保持每個服務器的高速緩存在數據更改時保持同步的複雜性?
至少,它可以避免從池中借用連接,讓連接用於真正需要數據庫的事情。這可以減少高負載情況下的連接池延遲。但我們都知道緩存是一個棘手的問題,所以你的問題確實很有意義。 –