ASP.NET中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