簡體   English   中英

ASP.NET MVC中的數據緩存存儲

[英]Data Caching Stores In ASP.NET MVC

問候同胞。

我正在研究使用ASP.NET MVC緩存從各種數據庫表中檢索到的數據的方法。 我們有大量的數據,每天僅更新一次,此后一直是靜態的。 這可能會有所不同,但通常是用戶(雇員)列表,部門,辦公室,我們所處位置等信息。

我的問題是,首先您如何檢索數據? 您將其存儲在哪里? (文本文件還是實際代碼?)由什么決定是否需要更新緩存? 我更喜歡面向對象的方法,這樣我就可以將數據行視為對象。 我已經有一個在MVC應用程序中使用LINQ手工創建的模型。 另外,我應該如何檢查緩存是否臟了? 數據庫應該做什么,還是應用程序應該做什么? 例如,更新一行時,數據庫觸發器應執行某項操作以指示已進行了更改(也許它可以寫入文本文件嗎?),還是我的應用程序應該快速檢查是否有更改? 我知道周圍有很多方法,但是有推薦的方法嗎?

考慮到我對緩存的經驗為零,所以要謙虛;)

持有一個靜態對象(數組,列表,哈希圖等),其中包含每種數據類型(一個用於員工的數組,另一個用於部門的數組等等)的所有數據項,或者使用服務器緩存並將這些數據容器存儲在其中使用您自己定義的密鑰。 使用緩存非常簡單,也是最常用的方法。

使用“緩存”對象還可以指定到期時間(絕對值或按最后一次觸摸按鍵的時間)以及緩存依賴項(您可以在其中基於FS文件重置緩存項)。

如有必要,可以創建更復雜的方案(例如,通過限制特定項目的緩存大小而到期)。

像其他提到的一樣,您可能應該使用Cache並根據表的相關性使Cache無效。

您應該問自己的一件事是如何查詢數據。 如果您需要sql的功能,則緩存可能會妨礙您。 如果需要過濾,分頁和排序數據,則必須決定在哪里進行處理:從緩存中獲取結果后,使用sql或linq。 答案主要取決於您需要為結果集運行查詢的時間。

暫無
暫無

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

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