国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.net中何有效的使用Cache

2024-07-10 12:58:48
字體:
來源:轉載
供稿:網友
cache 即高速緩存 ,我想很多人對他的第一印象一定像我一樣,感覺他一定能提高系統得性能和運行速度。的確。net推出cache的初衷確實是這樣的。那么cache是如何提高系統性能與運行速度呢?是不是在任何情況下用cache都能提高性能?是不是cache用的越多就越好呢?我在近期開發的項目中有所體會,寫下來當作總結也希望能跟大家一起探討探討,有錯誤的地方希望大家批評指正。 1.       cache 是如何工作的。l         cache 是分配在服務器上的一個公共的內存片。所謂公共指的cache只要一創建是任何一個客戶端瀏覽器都可以通過后臺代碼訪問到它,它面向的是所有用戶,相對而言session也是服務器上的一段內存,但他面向的是單個用戶。它是服務器的一段內存塊,也就是說每個cache一經創建就占用了服務器資源的。所以從這點來說我們就可以說:并不是cache越多越好。l         cache 是有時間限制的,超過了服務器設定的過期時間,它就會被服務器回收。l         c.cache 可以存放任何對象2.       cache 如何創建以及如何銷毀。l         創建cache 在。net環境下通過cache.insert(string key,object o)方法創建。其中key 代表cache的id,o代表存到cache里的對象。l         銷毀cache.通過方法cache.remove(string key)其中key 代表cache的 id.l         調用cache.cache支持裝箱/拆箱操作。如你可以把一個dataset對象ds通過cache.insert(“dscache”,ds)的方式存到cache中,可以通過拆箱操作 dataset ds = (dataset)cache[“dscache”]來訪問它。

3.       什么時候用cache.cache 一般用于數據較固定,用的較頻繁的地方。例如可以把進銷存系統中可以把產品信息存入cache,在用戶調用產品信息時通過調用cache即可,這樣從很大程度上減少了用戶與數據庫的交互,提高了系統的性能。反之,cache不適合用在數據變動快,使用范圍很窄的地方。例如把一個具體采購單存入 cache中。

  4.       cache 調用注意事項。cache是有時間限制的。超過了服務器設置的過期時間,就會被服務器回收。當cache被回收后對應的內存塊就會被清空,再次通過cache[“cachekey”]訪問對象時返回的就是null值。所以以下這種調用就會出現異常dataset ds = (dataset)cache[“cacheds”];datarow dr = ds.table[0].row[0];  //出錯,ds為null值,不存在表0。正確的寫法應該是:dataset dsif(cache[“cacheds”] != null){ds = (dataset)cache[“cacheds”];}else{ds= getdsfromdatabase();}

  datarow dr = ds.table[0].row[0];

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南漳县| 临沭县| 延庆县| 温州市| 西吉县| 桐柏县| 井研县| 徐闻县| 麟游县| 新野县| 乌鲁木齐县| 金湖县| 高阳县| 罗江县| 天津市| 建阳市| 山阴县| 柘城县| 潢川县| 遂平县| 喀喇沁旗| 溧阳市| 宁南县| 阳新县| 石家庄市| 吐鲁番市| 油尖旺区| 黄大仙区| 盐源县| 健康| 阿勒泰市| 西峡县| 临潭县| 虎林市| 绥阳县| 寿光市| 郯城县| 开原市| 太原市| 闽清县| 天峻县|