有关asp.net中Session缓存与Cache缓存的区别

发布时间:2020-06-04编辑:脚本学堂
实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application。其中Cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息。Session则保存对话信息。

实现数据的缓存有很多种方法,有客户端的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目前只能保存在内存中,对其性能有影响。