緩存技術

1、緩存概述web

  緩存是在內存中保存建立代價高的信息副本的一種技術,它能夠同時提升性能和擴展性。sql

2、緩存的分類數據庫

  一、客服端緩存(客服端瀏覽器的硬盤上保留的靜態文件)windows

  二、服務端緩存瀏覽器

    (1)靜態文件緩存(靜態頁面)緩存

    (2)動態緩存服務器

    1)傳統緩存方式工具

    2)頁面輸出緩存性能

    寫法1、將整個ASP.NET頁面內容保存在服務器內存中。用法:在aspx頁面的頂部加<%@ OutputCache Duration="60" VaryByParam="none" %>,其中Duration表示緩存的時間,VaryByParam表示頁面根據什麼方式發送的參數來更新緩存的內容。spa

    寫法2、在web.config中加入該配置:     

 1 <system.web>
 2     <caching>
 3         <outputCacheProfiles>
 4            <add name="CacheTest" duration="50" />
 5         </outputCacheProfiles>
 6     </caching>
 7 </system.web>        
 8 
 9 //頁面中聲明:
10 <%@ OutputCache CacheProfile="CacheTest" VaryByParam="none" %>

    其餘屬性用法:VaryByControl經過控制文件中包含的服務器控件來改變緩存。

    3)頁面局部緩存

      一、控件緩存(將靜態內容放在一個用戶控件中,並將該用戶控件標記爲緩存,用戶控件中寫法跟上面同樣)

      二、緩存後替換(與控件緩存相反,它對整個頁面進行緩存,動態變化的內容使用Subtitution控件)

    4)利用.NET提供的System.Web.Caching緩存(GetCache()與SetCache()方法)

    5)緩存依賴

      a)、文件緩存依賴(能夠解決緩存帶來的數據滯後性問題,通常適合讀取配置文件的緩存處理)

       這種策略讓緩存依賴於一個指定的文件,經過改變文件的更新日期來清除緩存。

       關鍵代碼以下所示:

1 System.Web.Caching.CacheDependency dep=new Syste.Web.Caching.CacheDependency("C:\\text.txt");
2 SetCache(Cachekey,objModel,dep); //objModel:緩存對象

     b)、數據庫緩存依賴

       步驟:

       1、在web.config的<system.web>節中寫入:

1 <caching>
2     <sqlCacheDependency enabled="true" pollTime="6000">
3         <databases>
4 <add naem="codematic" connectionStringName="strcodematic"/>
5       </databases>
6     </sqlCacheDependency >
7 </caching>    

      2、執行下面的命令,爲數據庫啓用緩存依賴

        aspnet_regsql.exe工具位於windows\\microsoft.net\\framework\\[版本]文件夾中。

aspnet_regsql -c "鏈接數據庫的字符串" -ed -et -t "表名"

       3、在代碼中使用緩存,關鍵代碼以下所示:

1 1 System.Web.Caching.SqlCacheDependency dep=new Syste.Web.Caching.SqlCacheDependency("codematic","p_Product");
2 2 SetCache(Cachekey,objModel,dep); //objModel:緩存對象,p_Product:表名

  三、第三方緩存系統(Cache Application Block,Memcached,Cacheman)

相關文章
相關標籤/搜索