1樓:匿名使用者
1.cache 是分配在伺服器上的一個公共的記憶體片。cache 是有時間限制的,超過了伺服器設定的過期時間,它就會被伺服器**。
所謂公共指的cache只要一建立是任何一個客戶端瀏覽器都可以通過後臺**訪問到它,它面向的是所有使用者,相對而言session也是伺服器上的一 段記憶體,但他面向的是單個使用者。它是伺服器的一段記憶體塊,也就是說每個cache一經建立就佔用了伺服器資源的。所以從這點來說我們就可以說:
並不是 cache越多越好。
cache 可以存放任何物件
2.cache 怎麼樣建立以及怎麼樣銷燬
建立cache
在dotnet環境下通過cache.insert(string key,object o)方法建立。
其中key 代表cache的id,o代表存到cache裡的物件。
銷燬cache
通過方法cache.remove(string key)
其中key 代表cache的 id.
呼叫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 ds;
if(cache[「cacheds」] != null)
else
datarow dr = ds.table[0].row[0];
2樓:陽光的雷咩咩
在記憶體裡面,參考資料:
c# httpruntime.cache 問題,伺服器中到底存在幾個相同的鍵值呢
3樓:匿名使用者
asp.net中的cache,是執行緒安全的。所以多執行緒之間的資料同步問題,我們不用考慮,因為cache已經幫我們解決了。
至於你三次訪問createtime得到不同的資料,具體要看你的**了。
4樓:匿名使用者
如果用了add方法,可以改成insert試試。
add 和 insert的區別,需要學習和了解一下
5樓:匿名使用者
key 是不可能重複的,你這樣應該是重複為同一個key賦值了
c#.net快取問題
c# 快取有啥作用?現實意義是什麼?用快取和不用快取有什麼區別?
6樓:
把資料或頁面內容在第一次請求後存在記憶體中,下次有需要討直接取記憶體中的。可加快處理速度減少io操作
7樓:**最大功能
訪問速度快。和cpu的快取是一個道理。
什麼是汽輪機額脫扣,什麼是汽輪機額脫扣
當汽輪機轉速過快時進行脫扣使保護汽輪機的機構,由一對安裝於汽輪機軸或轉盤 內內的彈簧容 載入銷或重錘和一個與調節閥及其槓桿系統完全無關的快速關閉汽閥組成。當汽輪機軸的轉速不斷上升,使這隻銷子產生的離心力超過給定轉速下彈簧的負載時,銷子即飛出,結果使連桿中的搭扣脫開,並使彈簧載入的快速關閉汽閥立即關閉...
什麼是資本增值額
增值額,指的是從copy銷售額中扣除當期購進bai 商品與勞du務的價值差額後餘下的zhi價值量,即dao企業或個人在生產經營過程中所創造的那部分價值。增值額,指的是從銷售額中扣除當期購進商品與勞務的價值差額後餘下的價值量,即企業或個人在生產經營過程中所創造的那部分價值。增值 相對 的提高。如,人民...
吊睛白額大蟲是神馬,吊睛白額大蟲是什麼意思
是旺財,參照周星馳導演的 美人魚 其實就是老虎,吊睛的意思是眼睛上翹,白額不是額頭,而是脖子後面的一圈白毛,大蟲是指老虎,古時把走獸統稱為 蟲 豸 所以大蟲不是現再的蟲,而是大型的走獸。樓上也太坑人了。不懂也別瞎說啊。蟲在古代是指動物的意思,和現在不一樣。河北方言裡現在還管 蛇叫 長蟲 呢。所以那個...