簡體   English   中英

Web應用程序的特定緩存方案

[英]Specific Caching Scenario for Web Application

我正在制作一個Web應用程序,其中涉及能夠從多個百貨公司獲取特定的計算機日志。 該應用程序正在從SQL Server數據庫獲取數據。 在應用程序啟動時,我要求用戶選擇區域號以縮小選擇范圍。 選擇區域后,我將調用數據庫以檢索該區域中的其他商店(我做了一個Store類,以便可以輕松創建對象)。 我將它們顯示給用戶,以便他們可以選擇所需的商店。 用戶選擇他們的商店之后,我必須再次調用數據庫以檢索屬於該商店的工作站列表(同樣,我定義了一個稱為Workstation的類)。 然后,用戶可以選擇一個工作站,選擇要從中登錄的日期和月份,然后單擊“提交”按鈕。

當談到從數據庫緩存結果時,我對如何做到這一點感到困惑。 理想情況下,我將使用某些緩存管理器(如JCS或EHCACHE)來緩存存儲和工作站對象。 我的第一個獲取存儲的SQL語句具有WHERE子句,用於檢查用戶選擇的REGION。 因此,當我將這些結果返回到ResultSet對象中時,是否要一個接一個地遍歷它們並檢查它們是否已在緩存中? 如果它們不在其中,則創建一個Store對象並添加它。 如果對象已經在緩存中,則使用continue語句跳至ResultSet的下一個迭代?

並且您認為考慮是否在過去的某天和某個月需要緩存日志信息甚至更明智?

我正在尋找有關如何繼續進行該項目的指導,如果有人可以幫助我或為我提供一般性的演練或如何進行的建議,我將不勝感激。 編程本身不是問題。 這只是我對緩存本身不熟悉。

非常感謝你!

然后,用戶可以選擇一個工作站,選擇要從中登錄的日期和月份,然后單擊“提交”按鈕。

基於此聲明,我假設特定日期和月份的日志一旦寫入數據庫就不會更新。

因此,當我將這些結果返回到ResultSet對象中時,是否要一個接一個地遍歷它們並檢查它們是否已在緩存中?

似乎將Hibernate與第二級緩存一起使用,查詢緩存將是一個更好的選擇,而不是僅使用緩存。 由於您的問題是一個高級別的問題,因此我不會詳細介紹什么是Hibernate以及如何使我們休眠並配置二級緩存和查詢緩存。

對查詢緩存的更多細節。 這篇文章有點老,但是確實幫助我了解了查詢緩存的基礎。

並且您認為考慮是否在過去的某天和某個月需要緩存日志信息甚至更明智?

我認為緩存過去的數據沒有任何問題。 緩存數據的主要目的是使應用程序所需的數據在需要時快速可用。 如果訪問此數據需要您每次訪問數據庫時都訪問數據庫或從文件中讀取文件,則緩存是有意義的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM