當前位置:首頁 » 硬碟大全 » mvc4實體模型緩存
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mvc4實體模型緩存

發布時間: 2023-08-24 21:38:50

① Web Api及MVC性能提升的幾個小技巧

一、緩存
為了避免每次請求都去訪問後台的資源,我們一般會考慮將一些更新不是很頻繁的,可以重用的數據,通過一定的方式臨時地保存起來,後續的請求根據情況可以直接訪問這些保存起來的數據,這種機制就是所謂的緩存機制。緩存分為頁面輸出緩存,內存數據緩存和緩存依賴等。從設計原則來說,易變性、敏感性的信息不適合進行緩存,同時緩存的內容也是易丟失的,在代碼中不能完全依賴於緩存的數據,需要保證在緩存的數據丟失後也能進行正確的處理。
1、頁面輸出緩存
通過對輸出的頁面進行緩存,每次新的用戶請求調用相同的 Action 時,相同的內容不需要重新創建一次而直接輸出。頁面輸出緩存的使用非常簡單,在 Action 上使用 [OutputCache] 特性標記即可生效。頁面輸出緩存可控制緩存的內容所存儲的位置,例如是在伺服器端存儲緩存的頁面內容還是在客戶端存儲緩存的頁面內容;也可使用 Duration 參數控制緩存的失效絕對時間和間隔時間,甚至能使用 VaryByParam 參數對不同的請求參數分別進行緩存。頁面輸出緩存非常適合於內容比較固定的前端頁面的緩存。
2、內存數據緩存
通常情況下,數據是保存在資料庫、磁碟文件等存儲介質中的,而應用程序訪問這些資源是一項很費時的操作。如果先將這些資源中的數據緩存到內存緩存區中,當應用程序需要這些數據時,直接從緩存區中提取,就可以減少系統開銷,顯著提高可使用的用戶並發數等。內存數據緩存需考慮緩存的內容更改失效後如何清空其他已經被緩存的相關聯的數據問題。
3、EFCache
眾所周知,NHiberate 提供了二級緩存功能。現在,如果你使用的是 Entity Framework 6 或更高版本的 Entity Framework ,你也可考慮使用 EFCache 組件來為 Entity Framework 提供二級緩存支持,其實質上也是屬於內存數據緩存。EFCache 的特點是使用上非常方便,僅需定義如下的代碼無需其他復雜的額外的配置即可實現二級緩存。如需定義特定的緩存策略,如緩存的過期時間,控制數據緩存的范圍,也僅需繼承 CachingPolicy 類並 override 其部分方法即可。你甚至可以通過實現 ICache 介面來實現自定義的緩存模型以替換默認的 InMemoryCache 。
二、Stream壓縮
對響應流進行壓縮,其作用是減少網路開銷,提高系統的響應速度。目前的瀏覽器通常都支持 gzip 和 deflate 壓縮解壓功能,因此你通常無效考慮瀏覽器的兼容性問題。啟用 gzip 和 deflate ,既可通過 IIS 配置實現,在 MVC 中也可通過編寫自定義的 ActionFilter 實現。在壓縮之前和壓縮之後 Stream 的大小差異通常都是驚人的,其壓縮率通常都在5-10倍以上。
三、js和css文件的壓縮和打包
1、js 和 css 文件的壓縮
其實質就是生成較小的文件,減小下載這些文件的網路開銷,提供系統的響應速度。壓縮 js 和 css 文件還有個好處是通常還可以起到代碼混淆的作用。在 YbSoftwareFactory 的 MVC 解決方案中,使用的是 Microsoft Ajax Minifier 組件,可在代碼編譯的過程中自動對所配置的 js 和 css 進行壓縮,基本上文件的大小都可減少一半以上
2、js、css文件的打包
其目的是進行 js 文件和 css 文件的合並,當前主流瀏覽器的並發連接數默認情況下通常都是 6 個,如果前端頁面同時請求的伺服器資源(如 img 文件、js 文件、css 文件以及各類 url 請求等)超過6個,通常就需要進行排隊下載。進行 js 文件、css 文件的打包合並,通常可以在一次請求中就完成未打包之前需多次請求才能完成的工作,通過減少前端瀏覽器的連接請求,在某種意義上也是可提高系統的響應速度的。

② 如何清除瀏覽器緩存在瀏覽器的後退按鈕單擊在MVC4

清除瀏覽器緩存方法如下:

1、按下鍵盤上的CTRL+H

2,、在彈出來的頁面中點擊清除瀏覽器緩存

③ MVC2,MVC3,MVC4和MVC5有什麼不同

MVC2,MVC3,MVC4和MVC5的不同:

1、查看引擎:

視圖引擎負責將HTML代碼從視圖呈現到瀏覽器。

MVC 2僅使用Web窗體視圖引擎( .aspx)作為默認視圖引擎。

MVC3使用剃刀視圖引擎( .c#和的cshtml。vbhtml (用於Visual Basic )和Web窗體視圖引擎( .阿斯佩克斯)。

MVC4還使用剃刀視圖引擎作為默認視圖引擎,具有一些新功能,如條件屬性和「波形斜線」。

2、圖表、網路網格、加密、網路映像、網路郵件控制:

所有這些在MVC2中都不可用。

所有這些都在MVC3和MVC4中提供。

3、合成語法:

Web窗體視圖引擎語法: < % = HTML代碼%>在MVC2中。

(剃刀語法)剃刀視圖引擎語法: @MVC3中的Html代碼。

MVC4具有相同的剃刀視圖引擎語法,但添加了新功能,如條件屬性和「波形斜線」,即URL解析。

4、可用於在視圖和控制器之間共享數據的對象:

模板數據、視圖數據在MVC2中可用。

MVC3中提供了臨時數據、視圖數據、視圖包。

MVC4中提供了臨時數據、視圖數據、視圖包。

>TempData用於當前和後續請求,即當您知道要重定向的下一個視圖時。

>在ViewData中,可以通過字元串作為鍵訪問對象字典。

>在c#4.0中添加了ViewBag,它使用允許動態添加者隱對象屬性的動態功能。我們可以說ViewBag = ViewData +ViewData字典周圍的動態特性。

5、jquery支持:

jquery支持在MVC2中很好。

在MVC3中,jquery支持更好。

MVC4為Jquery (如Jquery Mobile)提供了更好的支持。

6、驗證:

MVC2中有客戶端驗證和非同步控制器。

MVC3中包含不引人注目的Ajax和客戶端敏嫌掘驗證、Jquery驗證和JSON綁定支持。

客戶端驗證、Jquery驗證和對MVC4非同步方法的增強支持。

7、項目模板:

MVC3支持由HTML5啟用的項目模板。

MVC4支持移動應用程序的許多新功能,還提供了新的移動項目模板和更新橋核和現代化的默認模板。

8、ASP.NET MVC 5中的新功能:

(1)一個ASP網;

(2)ASP凈身份;

(3)MVC模板中的引導程序;

(4)認證過濾器;

(5)過濾器覆蓋。