日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Cache总义Cache用法之页面声明

發(fā)布時(shí)間:2023/11/27 生活经验 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cache总义Cache用法之页面声明 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Cache總義Cache用法之頁面聲明

<%@ outputCache
Duration="#ofseconds"
Location="Any|Client|Downstream|Server|None"
VaryByControl="ControlName"
VaryByCustom="browser|customstring"
VaryByHeader="headers"
VaryByParam="Parametername" %>

Cache用法之代碼控制
HttpCachePolicy類是專門用來控件Cache的,可以用Response.Cahce來訪問這個(gè)類的實(shí)例

?

Response.Cache.SetExpires(DateTime.Now.AddSeceonds(10));
Response.Cache.SetCacheability(HttpCacheablility.Public);
Response.Cache.SetValidUnitlExpires(true);
-----------------------以上都是緩存頁面的,下面是緩存數(shù)據(jù)的----------------------------
Cache類的生存周期等于應(yīng)用程序的生命周期
三種用法
1:存:Cache["key"] = MyData;取:
MyData = Cache["key"];
if(MyData != null)
??? use(MyData);
此法存入Cache的數(shù)據(jù)生命周期等于應(yīng)用程序生命周期,不支持清除、過期、依賴性等功能。


2:存:
Cache.Insert(
string key,
object value,
CacheDependency dependencies,//依賴,設(shè)置緩存有效的依賴性,比如設(shè)置和一個(gè)文件相關(guān),文件一變,就失效
DateTime absoluteExpireation,? //設(shè)置固定的過期時(shí)間
TimeSpan slidingExpiration, //設(shè)置最后一次訪問后多長(zhǎng)時(shí)間過期
CachePriority priority, //設(shè)置內(nèi)存不足,緩存自動(dòng)清除時(shí),緩存的重要性,可不可以清除
CacheItemRemovedCallback onRemoveCallback // 設(shè)置在清除時(shí)引發(fā)的事件
)
Example:


Cache.Insert("Mydata",MyData,new Caching.CacheDependency(Server.MapPah("Mydata.XML")));//設(shè)置有效性和一個(gè)文件有關(guān)
Cache.Insert("Mydata",myData,null,DateTime.Now.AddDays(1),Cache.NoSlidingExpiratin);//兩種過期時(shí)間設(shè)了其中一種,另一種要設(shè)為0,用NoAbsolute(Sliding)Expiration枚舉
Cache.Insert("MyData",myData,null,Cache.NoAbsoluteExpiration,TimeSpan.FromMinutes(10));//不能過一年不能小于0
Cache.Insert("MyData",myData,null,Cache.NoAbsoluteExpiration,TimeSpan.FromMinutes(10),Caching.CacheItemPriority.NotRemovable,null);// AboveNormal|BelowNormal|Default|High|Low|Normal|NotRemovable

public void RemovedCallback(string key,object value,CacheItemRemovedReason reason)
{
??? if(reason == CacheItemRemovedReason.DependencyChanged)
??????? Response.Write("文件變了,快去看看");
}
Cache.Insert("Mydata",MyData,new Caching.CacheDependency(Server.MapPah("Mydata.XML"),DateTime.Now.AddDays(1),Cache.NoSlidingExpiration,CacheItemPriority.High,new CacheItemRemovedCallback(this.RemovedCallback));
清除就可以用Cache.Remove("key");方法


3:
Cache.Add方法,用法和Insert差不多,區(qū)別在于Add碰到該key原來有賦過值會(huì)失敗,Insert則不會(huì),而會(huì)替換原有值;Add會(huì)返回被緩存數(shù)據(jù)項(xiàng),Insert不會(huì)

?

總結(jié)

以上是生活随笔為你收集整理的Cache总义Cache用法之页面声明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。