2014-10-19 61 views
0

我們正在用Java構建一個自定義CMS。存儲在servlet上下文中的Java與數據庫查找

當主servlet接收到一個請求時,我們執行查找以查看哪個條目與請求路徑相關聯,然後將條目顯示給用戶。

我們想知道其中這3種方法中的一種可能是最快的/最便宜的在性能方面:

  1. 存儲在啓動時地圖上在servlet上下文中的所有條目的(關鍵 =路徑,value = entry),然後在接收到請求時根據路徑簡單地獲取條目

  2. 在啓動時存儲servlet上下文中所有條目的數組列表,然後在列表中迭代以獲取條目在收到請求時的路徑上

  3. 執行DB查詢,以獲得進入

爲了給你更多的情況下,我們目前有大約100個條目,並預計這一增長到約1000。 數據庫與Web應用程序共享,我們希望確保Web應用程序的最大可用性。同時SEO是我們的第一流量來源,因此保持快速加載時間對我們來說非常重要。

任何想法,將不勝感激。

+1

你的數據庫,不管它是什麼,都應該足夠快,特別是處理如此少量的數據。緩存在內存中不會帶來任何顯着的性能提升,但會讓你的應用變得更加複雜:什麼時候使緩存無效?如何知道數據庫中的某些內容已被更改,並避免顯示陳舊的數據?不成熟的優化是萬惡之源。 – 2014-10-19 09:50:31

回答

0

內存查找總是比數據庫查找更快。如果數據的大小並不大,並且如果數據在加載後沒有改變,將它存儲在Map中是一個好的選擇(在列表上迭代將是一個壞主意)。如果你的服務器有內存可用,那麼在內存中有幾MB的數據將不成問題。

相關問題