asp.net中Session缓存与Cache缓存的区别分析
更新时间:2013年02月26日 22:27:56 作者:
实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application
其中Cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息。
Session则保存对话信息。
Application则是保存在整个应用程序范围内的信息,相当于全局变量。
Session用的比较多。
Session缓存与Cache缓存的区别,可以参考如下的几点:
1、最大的区别是Cache提供缓存依赖来更新数据,而Session只能依靠定义的缓存时间来判断缓存数据是否有效。
2、即使应用程序终止,只要Cache.Add方法中定义的缓存时间未过期,下次开启应用程序时,缓存的数据依然存在。而Session缓存只是存在于一次会话中,会话结束后,数据也就失效了。
3、Session容易丢失,导致数据的不确定性,而Cache不会出现这种情况。
4、由于Session是每次会话就被加载,所以不适宜存放大量信息,否则会导致服务器的性能降低。而Cache则主要用来保存大容量信息,如数据库中的多个表。
5、VS2005的测试版提供了将缓存保存在硬盘上的参数,但正式版中取消了这个功能,估计其在以后版本中会重新实现。而Session目前只能保存在内存中,对其性能有影响。
Session则保存对话信息。
Application则是保存在整个应用程序范围内的信息,相当于全局变量。
Session用的比较多。
Session缓存与Cache缓存的区别,可以参考如下的几点:
1、最大的区别是Cache提供缓存依赖来更新数据,而Session只能依靠定义的缓存时间来判断缓存数据是否有效。
2、即使应用程序终止,只要Cache.Add方法中定义的缓存时间未过期,下次开启应用程序时,缓存的数据依然存在。而Session缓存只是存在于一次会话中,会话结束后,数据也就失效了。
3、Session容易丢失,导致数据的不确定性,而Cache不会出现这种情况。
4、由于Session是每次会话就被加载,所以不适宜存放大量信息,否则会导致服务器的性能降低。而Cache则主要用来保存大容量信息,如数据库中的多个表。
5、VS2005的测试版提供了将缓存保存在硬盘上的参数,但正式版中取消了这个功能,估计其在以后版本中会重新实现。而Session目前只能保存在内存中,对其性能有影响。
相关文章
ASP.NET小结之MVC, MVP, MVVM比较以及区别(一)
MVC, MVP和MVVM都是用来解决界面呈现和逻辑代码分离而出现的模式。以前只是对它们有部分的了解,没有深入的研究过,对于一些里面的概念和区别也是一知半解。现在一边查资料,并结合自己的理解,来谈一下对于这三种模式思想的理解,以及它们的区别。欢迎各位高手拍砖。2014-05-05
最新评论