亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#中緩存的基本用法總結

2020-01-24 02:32:55
字體:
來源:轉載
供稿:網友

本文初步探討了C#緩存的原理及應用,并以實例加以分析總結,這些對C#初學者來說是很有必要熟練掌握的內容。具體如下:

一、概述:

緩存應用目的:緩存主要是為了提高數據的讀取速度。因為服務器和應用客戶端之間存在著流量的瓶頸,所以讀取大容量數據時,使用緩存來直接為客戶端服務,可以減少客戶端與服務器端的數據交互,從而大大提高程序的性能。

1、緩存的引用空間:System.Web.Caching; 緩存命名空間主要提供三種操作:緩存數據對象、對象的緩存依賴和數據庫的緩存依賴。其中緩存任何對象都使用一個類Cache,但當緩存發生改變時,普通對象和數據庫對象的依賴處理不同。

2、管理緩存類:Cache

Cache類用來存儲數據對象,并提供方法對這些對象進行編輯。Cache類屬于字典類,其根據一定的規則存儲用戶需要的數據,這些數據的類型不受限制,可以是字符串、數組、數據表、Dataset和哈希表等。
使用Cache類的優點是當緩存的數據發生變化時,Cache類會讓數據失效,并實現緩存數據的重新添加,然后通知應用程序,報告緩存的及時更新。

二、方法詳解:

Cache類的方法主要提供對緩存數據的編輯操作,如增、刪、改等。

Add 將數據添加到Cache對象
Insert 向Cache中插入數據項,可用于修改已經存在的數據緩存項
Remove 移除Cache對象中的緩存數據項
Get 從Cache對象中獲取指定的數據項,注意返回的是Object類型,需要進行類型轉換
GetType 從Cache對象中獲取數據項的類型,判斷數據類型后,方便進行轉換

最需要注意的是Add方法,其使用語法如下:

public Object Add (string key,Object value,CacheDependency dependencies,DateTime absoluteExpiration,TimeSpan slidingExpiration,CacheItemPriority priority,CacheItemRemovedCallback onRemoveCallback)

在使用Add方法時,以上7個參數是必需的,其代表意義如下:
― 參數“key”代表緩存數據項的鍵值,必須是唯一的。
― 參數“value”代表緩存數據的內容,可以是任意類型。
― 參數“dependencies”表示緩存的依賴項,也就是此項的更改意味著緩存內容已經過期。如果沒有依賴項,可將此值設置為NULL。
― 參數“absoluteExpiration”是日期型數據,表示緩存過期的時間,.NET 2.0提供的緩存在過期后是可以使用的,能使用多長時間,就看這個參數的設置。
― 參數“slidingExpiration”的類型表示一段時間間隔,表示緩存參數將在多長時間以后被刪除,此參數與absoluteExpiration參數相關聯。
― 參數“priority”表示撤銷緩存的優先值,此參數的值取自枚舉變量“CacheItemPriority”,優先級低的數據項將先被刪除。此參數主要用在緩存退出對象時。
― 參數“onRemoveCallback”表示緩存刪除數據對象時調用的事件,一般用做通知程序。

應用代碼如下:

ArrayList myarray = new ArrayList();        myarray.Add("1.學習天地1");        myarray.Add("2.學習天地1");        myarray.Add("3.學習天地1");        myarray.Add("4.學習天地1");        string item = "這是一條緩存";        Cache["item"] = item;//賦值        Response.Write(Cache.Get("item") + "<br/>");         item = "更改一條緩存數據";        Cache.Insert("item", item);//更改緩存值        Response.Write(Cache.Get("item") + "<br/>");          //Cache.Remove("item"); //移除緩存值        //Response.Write(Cache.Get("item") + "<br/>");         Response.Write(Cache["item"].GetType().Name + "<br/>");//GetType獲得Cache的數據類型         Response.Write(Cache.Get("Array") + "<br/>");//GetType獲得Cache的數據類型          IDictionaryEnumerator bianli = Cache.GetEnumerator();//遍歷整個緩存        while (bianli.MoveNext())        {          Response.Write(bianli.Value + "<br/>");        }        Response.Write("獲取緩存數量:" + Cache.Count);         if (Cache["Array"] == null)        {//當緩存Array不存在時,添加緩存,緩存時間設定為5秒          Cache.Add("Array", myarray, null, DateTime.Now.AddSeconds(5), TimeSpan.Zero, CacheItemPriority.Normal, null);        }

3、  緩存依賴類:CacheDependency類

功能說明:

CacheDependency類被稱為是緩存依賴類,其具體意義表現在當緩存對象的實際數據發生改變時,它能及時通知緩存對象。例如緩存對象“Category”保存的是一個XML文件的數據,如果XML文件發生了變化,那么系統通過CacheDependency類就會及時更新緩存對象“Category”的內容,這樣就能保證用戶讀取的永遠是最新的數據。

代碼實例:

CaCheXml.xml文件如下:

<?xml version="1.0" encoding="utf-8" ?><book> <bookinfo>  <name>英國古代</name>  <price>28.00</price> </bookinfo> <bookinfo>  <name>中國歷史</name>  <price>20.00</price> </bookinfo> <bookinfo>  <name>中國歷史1232sdf2</name>  <price>20.00</price> </bookinfo></book>

后臺代碼如下:

private static CacheDependency Mydata;    protected void Page_Load(object sender, EventArgs e)    {      if (!IsPostBack)      {        DataSet ds = new DataSet();        ds.ReadXml(Server.MapPath("Cachexml.xml"));//讀取Xml里面數據        if (Cache["CXml"] == null)        {          //創建緩存依賴項          Mydata = new CacheDependency(Server.MapPath("Cachexml.xml"));          Cache.Add("CXml", ds, Mydata, DateTime.Now.AddSeconds(10), TimeSpan.Zero, CacheItemPriority.Normal, null);        }      }    }     protected void Button1_Click(object sender, EventArgs e)    {      if (Mydata.HasChanged)      {//判斷緩存是否更改        Response.Write("緩存已經更改,更改時間為"+Mydata.UtcLastModified);//獲取緩存的跟新時間      }      if (Cache["CXml"] == null)      {//當xml文件被改動時緩存從新加載        DataSet ds = new DataSet();        ds.ReadXml(Server.MapPath("Cachexml.xml"));//讀取Xml里面數據        //創建緩存依賴項        Mydata = new CacheDependency(Server.MapPath("Cachexml.xml"));        Cache.Add("CXml", ds, Mydata, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.Normal, null);      }      this.GridView1.DataSource = Cache["CXml"];      this.GridView1.DataBind();    }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线视频观看| 日韩免费在线免费观看| 国产精品美女免费| 亚洲精品在线视频| 国产精品中文字幕久久久| 久久久久久国产精品久久| 久热99视频在线观看| 亚洲аv电影天堂网| 久久久999国产| 国产精自产拍久久久久久| 日韩av在线精品| 91av在线国产| 国产日韩在线免费| 在线播放日韩av| 日韩av在线一区二区| 欧美一级大胆视频| 亚洲一级免费视频| 欧美日韩国产精品专区| 欧美人与物videos| 精品一区二区三区四区| 97超级碰碰人国产在线观看| 91久久精品一区| 97视频色精品| 国产精品你懂得| 这里精品视频免费| 国产精品日日摸夜夜添夜夜av| 久久久久久久久久久成人| 啪一啪鲁一鲁2019在线视频| 国产欧美精品一区二区三区介绍| 91精品国产91久久久久久不卡| 久久国产加勒比精品无码| 中文字幕在线日韩| 人体精品一二三区| 久久久中文字幕| 亚洲精品一区二区三区不| 久久精品国产一区二区三区| 久久九九精品99国产精品| 亚洲精品女av网站| 欧美日韩国产色| 国产z一区二区三区| 日韩av三级在线观看| 成年无码av片在线| 亚洲精品久久久久久久久久久久| 亚洲精品美女在线观看播放| 国产精品久久久久久久av大片| 亚洲一区二区中文| 日韩欧美精品免费在线| 91精品国产综合久久久久久久久| 亚洲男女性事视频| 国产精品久久久久久久久粉嫩av| 久久久久北条麻妃免费看| 日韩在线视频一区| 欧美日韩亚洲系列| 亚洲国产精品va在线观看黑人| 国产精品人人做人人爽| 91国在线精品国内播放| 91精品在线一区| 欧美在线视频一二三| 黄网站色欧美视频| 欧美激情伊人电影| 午夜剧场成人观在线视频免费观看| 国产成人自拍视频在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 成人性教育视频在线观看| 91在线播放国产| 亚洲一区二区在线播放| 欧美精品videos| 国产精品午夜一区二区欲梦| 中文字幕在线日韩| 欧美日韩国产专区| 日韩免费电影在线观看| 欧美高清视频在线| 国产精品丝袜高跟| 日韩国产一区三区| 日韩成人在线电影网| 国产精品r级在线| 欧美专区在线视频| 欧美大胆a视频| 久久99精品久久久久久青青91| 国产在线精品播放| 国产亚洲欧美一区| 黑人巨大精品欧美一区二区一视频| 最近2019免费中文字幕视频三| 奇米四色中文综合久久| 91干在线观看| 亚洲区bt下载| 亚洲三级黄色在线观看| 欧美洲成人男女午夜视频| 久久全球大尺度高清视频| 亚洲成人a**站| 国内外成人免费激情在线视频网站| 97成人精品视频在线观看| 国产精品极品美女粉嫩高清在线| 久久噜噜噜精品国产亚洲综合| 国产视频丨精品|在线观看| 91中文字幕在线观看| 在线播放亚洲激情| 国产精品丝袜久久久久久高清| 国产欧美久久久久久| 中文字幕av一区二区三区谷原希美| 在线成人中文字幕| 国产日韩欧美在线视频观看| 国产97在线播放| 日韩欧美在线免费| 亚洲国产高清福利视频| 国模私拍一区二区三区| 久久深夜福利免费观看| 黑人巨大精品欧美一区二区免费| 欧美日韩国产限制| 一本色道久久88综合亚洲精品ⅰ| 成人午夜在线影院| 久久手机免费视频| 国产精品久久91| 久久久精品免费视频| 亚洲乱码国产乱码精品精| 国产亚洲精品成人av久久ww| 麻豆国产va免费精品高清在线| 国产中文欧美精品| 中文字幕国产亚洲2019| 国产成人福利视频| 深夜福利国产精品| 国产91色在线|| 亚洲xxxxx| 国产精品老女人精品视频| 91国自产精品中文字幕亚洲| 国产精品九九久久久久久久| 欧美一级高清免费| 国产精品色视频| 亚洲一区二区中文字幕| 亚洲欧洲美洲在线综合| 久久视频在线播放| 欧美亚洲视频在线看网址| 97碰碰碰免费色视频| 欧美影院在线播放| 欧美最近摘花xxxx摘花| 欧美视频在线免费| 午夜精品在线观看| 亚洲第一色中文字幕| 在线播放日韩专区| 久久国产精品久久国产精品| 国产精品精品国产| 亚洲人成电影在线观看天堂色| 国产精品视频1区| 亚洲专区中文字幕| 国产亚洲美女久久| 在线日韩精品视频| 欧美电影免费看| 中文字幕亚洲一区二区三区五十路| 欧美午夜影院在线视频| 国产精品免费久久久久久| 在线成人激情视频| 国产日产欧美精品| 日本精品久久电影| 欧美激情免费视频| 亚洲欧美国产一本综合首页| 国产成人啪精品视频免费网| 日韩在线视频观看正片免费网站| 亚洲成人激情小说| 日韩免费av一区二区| 精品中文字幕乱| 欧美一区二区三区艳史| 欧美激情成人在线视频| 久久久精品国产网站| 亚洲精品久久久久中文字幕二区|