佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ASP.NET中的Cache使用介紹

ASP.NET中的Cache使用介紹

熱門標(biāo)簽:客戶服務(wù) 科大訊飛語音識別系統(tǒng) 人工智能 電商新玩法 網(wǎng)站排名優(yōu)化 電銷業(yè)務(wù) 國美全國運營中心 百度AI接口

Cache 即高速緩存 ,我想非常多人對他的第一印象一定像我相同,感覺他一定能提高系統(tǒng)得性能和運行速度。的確。Net推出cache的初衷確實是這樣的。那么cache是怎么提高系統(tǒng)性能和運行速度呢?是不是在所有情況下用cache都能提高性能?是不是cache用的越多就越好呢?我在近期研發(fā)的項目中有所體會,寫下來當(dāng)作總結(jié)也希望能跟大家一起探討探討,有錯誤的地方希望大家批評指正。
  
  1.Cache 是怎么工作的
  
  Cache 是分配在服務(wù)器上的一個公共的內(nèi)存片。
  
  所謂公共指的cache只要一創(chuàng)建是所有一個客戶端瀏覽器都能通過后臺代碼訪問到他,他面向的是所有用戶,相對而言session也是服務(wù)器上的一段內(nèi)存,但他面向的是單個用戶。他是服務(wù)器的一段內(nèi)存塊,也就是說每個cache一經(jīng)創(chuàng)建就占用了服務(wù)器資源的。所以從這點來說我們就能說:并不是cache越多越好。
  
  cache 是有時間限制的,超過了服務(wù)器設(shè)定的過期時間,他就會被服務(wù)器回收。
  
  c.cache 能存放所有對象
  
  2.Cache 怎么創(chuàng)建及怎么銷毀
  
  創(chuàng)建cache
  
  在。Net環(huán)境下通過Cache.Insert(string key,object o)方法創(chuàng)建。其中key 代表cache的ID,o代表存到cache里的對象。
  
  銷毀cache.
  
  通過方法Cache.Remove(string key)其中key 代表cache的 ID.
  
  調(diào)用cache.
  
  Cache支持裝箱/拆箱操作。如你能把一個DataSet對象ds通過Cache.Insert(“dsCache”,ds)的方式存到Cache中,能通過拆箱操作 DataSet ds = (DataSet)Cache[“dsCache”]來訪問他。
  
  3.什么時候用cache
  
  Cache 一般用于數(shù)據(jù)較固定,用的較頻繁的地方。例如能把進銷存系統(tǒng)中能把產(chǎn)品信息存入cache,在用戶調(diào)用產(chǎn)品信息時通過調(diào)用cache即可,這樣從非常大程度上減少了用戶和數(shù)據(jù)庫的交互,提高了系統(tǒng)的性能。反之,cache不適合用在數(shù)據(jù)變動快,使用范圍非常窄的地方。例如把一個具體采購單存入 cache中。
  
  4.cache 調(diào)用注意事項
  
  Cache是有時間限制的。超過了服務(wù)器設(shè)置的過期時間,就會被服務(wù)器回收。當(dāng)cache被回收后對應(yīng)的內(nèi)存塊就會被清空,再次通過cache[“cachekey”]訪問對象時返回的就是null值。所以以下這種調(diào)用就會出現(xiàn)異常
  

  DataSet ds = (DataSet)Cache[“cacheds”];
  
  DataRow dr = ds.Table[0].Row[0]; //出錯,ds為null值,不存在表0。


  
  正確的寫法應(yīng)該是:
  
  

DataSet ds
  
  If(Cache[“cacheds”] != null)
  
  {
  
  ds = (DataSet)Cache[“cacheds”];
  
  }
  
  Else
  
  {
  
  ds= GetDsFromDataBase();
  
  }
  
  DataRow dr = ds.Table[0].Row[0];

您可能感興趣的文章:
  • ASP.NET內(nèi)置對象之Application對象
  • Asp.Net Cache緩存使用代碼
  • asp.net 去除viewstate
  • asp.net 禁用viewstate在web.config里
  • Application,Session,Cookies對象應(yīng)用介紹
  • asp.net中的cookie使用介紹
  • Asp.net中static變量和viewstate的使用方法(謹慎)
  • asp.net Cookie值中文亂碼問題解決方法
  • asp.net中Session緩存與Cache緩存的區(qū)別分析
  • ASP.NET之Response.Cookies.Remove 無法刪除COOKIE的原因
  • ASP.NET中在一般處理程序中使用session的簡單介紹
  • ASP.NET中application對象的使用介紹
  • ASP.NET 使用application與session對象寫的簡單聊天室程序
  • asp.net中ViewState的用法詳解
  • ASP.NET中Application、Cookie、Session、Cache和ViewState

標(biāo)簽:攀枝花 咸寧 拉薩 廈門 POS機 南平 益陽 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET中的Cache使用介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    宁夏| 大悟县| 榆社县| 扶风县| 东明县| 长乐市| 神池县| 长宁县| 雅江县| 白朗县| 苗栗市| 大埔区| 友谊县| 宜兰市| 陆川县| 阿荣旗| 舒兰市| 金阳县| 阿克苏市| 阿坝县| 长治县| 湄潭县| 双峰县| 喀什市| 德兴市| 苏州市| 铜陵市| 苍溪县| 秦安县| 体育| 泰顺县| 武陟县| 吴旗县| 潞西市| 天气| 冷水江市| 黄石市| 延寿县| 岑巩县| 双江| 九江县|