濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > ASP.NET2.0緩存(Cache)技術(shù)深入理解

ASP.NET2.0緩存(Cache)技術(shù)深入理解

熱門(mén)標(biāo)簽:太原外呼電銷(xiāo)機(jī)器人費(fèi)用 使用智能電話機(jī)器人違法嗎 保山電話外呼管理系統(tǒng)怎么用 外呼系統(tǒng)用員工身份證 電話機(jī)器人廣告話術(shù) 東莞語(yǔ)音電銷(xiāo)機(jī)器人排名 朝陽(yáng)市地圖標(biāo)注 蘇州銷(xiāo)售外呼系統(tǒng)預(yù)算 淘寶地圖標(biāo)注如何做
ASP.NET2.0提供了一些新的用于提升程序性能的技術(shù)特性,其中,緩存技術(shù)是非常重要的一個(gè)特性,它提供了一種非常好的本地?cái)?shù)據(jù)緩存機(jī)制,從而有效的提高數(shù)據(jù)訪問(wèn)的性能。
數(shù)據(jù)緩存(DataCaching)就是將數(shù)據(jù)暫存于內(nèi)存緩存區(qū)中(有時(shí)也暫存于硬盤(pán)緩存區(qū)中)的一種技術(shù).當(dāng)數(shù)據(jù)本身改變得不怎么頻繁,而被訪問(wèn)的頻率又比較高時(shí),采用這種技術(shù)將大大提高警惕數(shù)據(jù)訪問(wèn)的效率.
1.網(wǎng)頁(yè)輸出緩存
(1)加顯緩存
%@OutputCacheDuration="60"VaryByParam=none%>
語(yǔ)句%@%>是網(wǎng)頁(yè)配置的指令,在這里用來(lái)給網(wǎng)頁(yè)指定緩存參數(shù).其中:Duration="60"代表緩存持續(xù)時(shí)間為60秒,VaryByParam屬性用來(lái)指定特定版本的網(wǎng)頁(yè)輸出,因哪個(gè)參數(shù)而改變.在%@OutputCache%>配置指令中一定要加入VaryByParam屬性.即使不使用這個(gè)版本屬性,也要將它加入,但將其值設(shè)為none.
(2)回調(diào)緩存
%@OutputCacheDuration=60VaryByParam=stata%>
根據(jù)lll.aspx?stata=的內(nèi)容分別緩存
下面的方法可以根據(jù)內(nèi)容刷新
復(fù)制代碼 代碼如下:

scriptrunat="server">
SharedFunctionGetCurrentDate(ByValcontextAsHttpContext)AsString
ReturnNow.ToString()
EndFunction
/script>
asp:SubstitutionID="Substitution1"runat="server"MethodName="GetCurrentDate"/>

2.數(shù)據(jù)庫(kù)緩存
在ASP.NET2.0中可以通過(guò)數(shù)據(jù)源設(shè)置數(shù)據(jù)表的緩存參數(shù).在SqlDataSource控件的屬性中有幾項(xiàng)用于設(shè)置緩存的參數(shù).
CacheDuration:代表緩存的持續(xù)時(shí)間.默認(rèn)為Infinite(無(wú)限)
CacheExpirationPolicy:緩存的策略.包括兩種設(shè)置:Absolute和Sliding.當(dāng)設(shè)置成前者時(shí),時(shí)限一到緩存區(qū)失效;當(dāng)設(shè)置為后者時(shí),時(shí)限到立即刷新緩存區(qū)中的數(shù)據(jù),并繼續(xù)緩存更新后的數(shù)據(jù).
CacheKeyDependency:可以用于SQLServer2005數(shù)據(jù)庫(kù).
EnableCaching:默認(rèn)時(shí)為False,即不使用數(shù)據(jù)緩存,將該屬性改為T(mén)rue時(shí)即可啟動(dòng)數(shù)據(jù)緩存.
SqlCacheDependecy:緩存依賴(lài)關(guān)系.例如設(shè)置為pubs:authors表示數(shù)據(jù)庫(kù)Pubs中的authors數(shù)據(jù)表與它的數(shù)據(jù)緩存之間建立依賴(lài)關(guān)系.
有時(shí)數(shù)據(jù)表太大,緩存區(qū)可能會(huì)占用太大的內(nèi)存空間.可以將數(shù)據(jù)緩存到硬盤(pán)的緩存區(qū)中,為了實(shí)現(xiàn)這一點(diǎn),需要做一些專(zhuān)門(mén)的設(shè)置.設(shè)置包括兩方面.
:在網(wǎng)頁(yè)中配置%@OutputCacheDuration="3600"VaryByParam="none"DiskCacheable="true"%>
:在Web.config文件中指定硬盤(pán)緩區(qū)區(qū)的大小,配置的語(yǔ)句如下:
復(fù)制代碼 代碼如下:

system.web>
caching>
outputCache>
diskCacheEnabled="true"maxSizePerApp="2"/>
/outputCache>
/caching>
/system.web>

其中diskCacheEnabled="true"用來(lái)啟動(dòng)硬盤(pán)緩存功能;maxSizePerApp="2"用來(lái)確定緩存區(qū)的容量,這里確定的緩存區(qū)最大容量為2M.同于對(duì)硬盤(pán)的存取速度比較慢,因此硬盤(pán)緩存只適用于緩存持續(xù)時(shí)間較長(zhǎng)的情況(本例中緩存時(shí)間為1小時(shí)).

3.緩存池
數(shù)據(jù)緩存技術(shù)大大提高警惕了數(shù)據(jù)訪問(wèn)的速度,但卻可能引發(fā)數(shù)據(jù)不一致的問(wèn)題.因此以上緩存技術(shù)只適用于數(shù)據(jù)量大,變化頻率不高的數(shù)據(jù).現(xiàn)在ASP.NET2.0新版本結(jié)合數(shù)據(jù)庫(kù)SQLServer2005,對(duì)數(shù)據(jù)緩存功能又做了很大的改進(jìn),既簡(jiǎn)化了使用過(guò)程,又完善了處理措施,其中最突出的一點(diǎn)就是與數(shù)據(jù)庫(kù)相結(jié)合自動(dòng)解決了數(shù)據(jù)失效問(wèn)題.
在ASP.NET2.0中為了解決數(shù)據(jù)失效問(wèn)題,通過(guò)新類(lèi)SQLCacheDependency建立起與新一代數(shù)據(jù)庫(kù)的"SQL緩存依賴(lài)關(guān)系(SQLExpressdependencycaching)",這種關(guān)系可以使得數(shù)據(jù)庫(kù)能夠自動(dòng)監(jiān)視數(shù)據(jù)表的狀況,一旦數(shù)據(jù)表發(fā)生了變化,立即啟動(dòng)數(shù)據(jù)庫(kù)本身的觸發(fā)器將相應(yīng)的緩存區(qū)中的數(shù)據(jù)變?yōu)闊o(wú)效.
此方法也可用于SQL7/2000數(shù)據(jù)庫(kù),但是使用關(guān)必須先配置所監(jiān)視的數(shù)據(jù)庫(kù).配置方法比較麻煩,但配置后使用起來(lái)還是很簡(jiǎn)單的.對(duì)于更早期版本的SQLServer或者其他類(lèi)型的數(shù)據(jù)庫(kù)(例如Oracle),則不能利用這一功能.
配置數(shù)據(jù)庫(kù)連接池
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regsql.exe
運(yùn)行asp.netsqlServer配置向?qū)?
Aspnet_regsql.exe–S“\DBNAME”–E–d“pubs”–ed
-Ewindows授權(quán)
–ed為enabled
Aspnet_regsql.exe–S“\DBNAME”–E–D“pubs”–et–t“authors”
當(dāng)pubs.authors改變時(shí)改變緩存
%@OutputCacheDuration="9999999"VaryByParam="none"SqlDependency="pubs.authors"%>
緩存配置
復(fù)制代碼 代碼如下:

caching>
outputCache>
diskCacheenabled="true"maxSizePerApp="2"/>
/outputCache>
outputCacheSettings>
outputCacheProfiles>
addname="CacheFor60Seconds"duration="60"/>
/outputCacheProfiles>
/outputCacheSettings>
!--
sqlCacheDependencyenabled="true"pollTime="1000">
databases>
addname="PubsDB"connectionStringName="pubsConnectionString"/>
/databases>
/sqlCacheDependency>
-->
/caching>
您可能感興趣的文章:
  • ASP.NET數(shù)據(jù)庫(kù)緩存依賴(lài)實(shí)例分析
  • asp.net頁(yè)面SqlCacheDependency緩存實(shí)例
  • asp.net中SqlCacheDependency緩存技術(shù)概述
  • ASP.Net緩存總結(jié)及分析 分享
  • 對(duì)asp.net緩存 的深入了解
  • ASP.NET緩存管理的幾種方法
  • ASP.NET緩存介紹
  • ASP.NET性能優(yōu)化之局部緩存分析
  • ASP.NET緩存處理類(lèi)實(shí)例

標(biāo)簽:潛江 運(yùn)城 阿里 綏化 洛陽(yáng) 呼倫貝爾 西藏 克拉瑪依

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET2.0緩存(Cache)技術(shù)深入理解》,本文關(guān)鍵詞  ASP.NET2.0,緩存,Cache,技術(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET2.0緩存(Cache)技術(shù)深入理解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于ASP.NET2.0緩存(Cache)技術(shù)深入理解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    于都县| 广丰县| 南开区| 香港| 政和县| 永安市| 海城市| 拜泉县| 和静县| 饶平县| 南丹县| 马尔康县| 杭州市| 西城区| 萍乡市| 永靖县| 定陶县| 双柏县| 基隆市| 台北市| 广水市| 九龙县| 布尔津县| 通州市| 阿拉善左旗| 都昌县| 平原县| 洮南市| 临漳县| 珲春市| 辛集市| 临猗县| 海南省| 巴彦淖尔市| 车险| 民勤县| 绍兴县| 中卫市| 西乌珠穆沁旗| 麟游县| 济宁市|