国产探花免费观看_亚洲丰满少妇自慰呻吟_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];

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 施秉县| 临洮县| 读书| 库车县| 泰顺县| 青海省| 自治县| 楚雄市| 五莲县| 江川县| 汝阳县| 清徐县| 罗平县| 通渭县| 凤翔县| 沧州市| 临沧市| 峨眉山市| 扎囊县| 三门峡市| 盐亭县| 孙吴县| 广西| 光山县| 葫芦岛市| 巴塘县| 澳门| 昭通市| 绥江县| 曲周县| 普安县| 南充市| 隆安县| 垦利县| 库伦旗| 共和县| 三穗县| 大余县| 邮箱| 莱阳市| 叙永县|