ASP.NET中Application和Cache的区别分析

 更新时间:2010年03月11日 19:31:13   作者:  
在asp.net中储存数据的方式有很多,包括application,session,cache, cookie, viewstate。其中application和cache的应用范围,使用方式都比较相似,这里主要对比一下这两种方式。

相同点:
1. 二者存储的变量的有效范围都是整个应用程序的生命周期。
2. 二者都可以存贮对象。

不同点:
1. application是在asp阶段使用的,后来升级到.net后,使用的是cache,但为了向前兼容,依然保留了application。

2. cache比application使用更加灵活,功能更强大。cache可以设置每一个item的优先级,当服务器内存不够时,将对cache进行压缩,将一些很长时间没使用的或者优先级低的item从cache中移去。
3.cache中可设置某个item的依赖性,依赖的对象可以是 cache中的其他item或者是某个文件。当依赖的item或者文件发生改变时,此item的内容会自动更新或者移除。
4.效率上,cache 要比application高,部分原因是因为appliction并发访问时需要调用lock和unlock,这将所有的application变量全锁定,而cache内部实现了并发访问时的互锁,每次可以只对某一个item加锁,而不是对整个cache加锁。
参考资料:http://www.eggheadcafe.com/articles/20030405.asp

相关文章

最新评论