相同點(diǎn):
1. 二者存儲(chǔ)的變量的有效范圍都是整個(gè)應(yīng)用程序的生命周期。
2. 二者都可以存貯對(duì)象。
不同點(diǎn):
1. application是在asp階段使用的,后來升級(jí)到.net后,使用的是cache,但為了向前兼容,依然保留了application。
2. cache比application使用更加靈活,功能更強(qiáng)大。cache可以設(shè)置每一個(gè)item的優(yōu)先級(jí),當(dāng)服務(wù)器內(nèi)存不夠時(shí),將對(duì)cache進(jìn)行壓縮,將一些很長時(shí)間沒使用的或者優(yōu)先級(jí)低的item從cache中移去。
3.cache中可設(shè)置某個(gè)item的依賴性,依賴的對(duì)象可以是 cache中的其他item或者是某個(gè)文件。當(dāng)依賴的item或者文件發(fā)生改變時(shí),此item的內(nèi)容會(huì)自動(dòng)更新或者移除。
4.效率上,cache 要比application高,部分原因是因?yàn)閍ppliction并發(fā)訪問時(shí)需要調(diào)用lock和unlock,這將所有的application變量全鎖定,而cache內(nèi)部實(shí)現(xiàn)了并發(fā)訪問時(shí)的互鎖,每次可以只對(duì)某一個(gè)item加鎖,而不是對(duì)整個(gè)cache加鎖。
參考資料:http://www.eggheadcafe.com/articles/20030405.asp
新聞熱點(diǎn)
疑難解答
圖片精選