国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET緩存的方法和最佳實踐

2024-07-10 12:41:28
字體:
來源:轉載
供稿:網友
盡早緩存;經常緩存  
  您應該在應用程序的每一層都實現緩存。向數據層、業務邏輯層、UI 或輸出層添加緩存支持。內存現在非常便宜 — 因此,通過以智能的方式在整個應用程序中實現緩存,可以獲得很大的性能提高。
  緩存可以掩蓋許多過失  
  緩存是一種無需大量時間和分析就可以獲得“足夠良好的”性能的方法。這里再次強調,內存現在非常便宜,因此,如果您能通過將輸出緩存 30 秒,而不是花上一整天甚至一周的時間嘗試優化代碼或數據庫就可以獲得所需的性能,您肯定會選擇緩存解決方案(假設可以接受 30 秒的舊數據)。緩存正是那些利用 20% 付出獲得 80% 回報的特性之一,因此,要提高性能,應該首先想到緩存。不過,如果設計很糟糕,最終卻有可能帶來不良的后果,因此,您當然也應該盡量正確地設計應用程序。但如果您只是需要立即獲得足夠高的性能,緩存就是您的最佳選擇,您可以在以后有時間的時候再盡快重新設計應用程序。  
  頁面級輸出緩存
  作為最簡單的緩存形式,輸出緩存只是在內存中保留為響應請求而發送的 HTML 的副本。其后再有請求時將提供緩存的輸出,直到緩存到期,這樣,性能有可能得到很大的提高(取決于需要多少開銷來創建原始頁面輸出 - 發送緩存的輸出總是很快,并且比較穩定)。  
  實現  
  要實現頁面輸出緩存,只要將一條 OutputCache 指令添加到頁面即可。  
  <%@ OutputCache Duration="60" VaryByParam="*" %>  
  如同其他頁面指令一樣,該指令應該出現在 ASPX 頁面的頂部,即在任何輸出之前。它支持五個屬性(或參數),其中兩個是必需的。 
  Duration
  必需屬性。頁面應該被緩存的時間,以秒為單位。必須是正整數。 
  Location
  指定應該對輸出進行緩存的位置。如果要指定該參數,則必須是下列選項之一:Any、Client、Downstream、None、Server 或 ServerAndClient。 
  VaryByParam
   必需屬性。Request 中變量的名稱,這些變量名應該產生單獨的緩存條目。"none" 表示沒有變動。"*" 可用于為每個不同的變量數組創建新的緩存條目。變量之間用 ";" 進行分隔。  
  VaryByHeader
   基于指定的標頭中的變動改變緩存條目。  
  VaryByCustom
   允許在 global.asax 中指定自定義變動(例如,"Browser")。  
  利用必需的 Duration 和 VaryByParam 選項的組合可以處理大多數情況。例如,如果您的產品目錄允許用戶基于 categoryID 和頁變量查看目錄頁,您可以用參數值為 "categoryID;page" 的 VaryByParam 將產品目錄緩存一段時間(如果產品不是隨時都在改變,一小時還是可以接受的,因此,持續時間是 3600 秒)。這將為每個種類的每個目錄頁創建單獨的緩存條目。每個條目從其第一個請求算起將維持一個小時。 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 靖边县| 兴化市| 惠东县| 抚宁县| 清苑县| 新巴尔虎右旗| 杭锦旗| 平顺县| 大化| 永福县| 耒阳市| 新营市| 吉木乃县| 沈阳市| 南充市| 连平县| 凉城县| 绥滨县| 绥中县| 临城县| 高清| 望谟县| 缙云县| 剑川县| 汾西县| 古丈县| 游戏| 台东县| 库尔勒市| 定日县| 积石山| 尼木县| 永善县| 项城市| 寻乌县| 苗栗县| 汕头市| 上饶市| 阜康市| 武威市| 乌兰县|