欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET中Session和Cache的区别总结

程序员文章站 2024-02-21 14:06:22
以前实现数据的缓存有很多种方法,有客户端的cookie,有服务器端的session和application。其中cookie是保存在客户端的一组数据,主要用来保存用户名等个...

以前实现数据的缓存有很多种方法,有客户端的cookie,有服务器端的session和application。其中cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息。session则保存对话信息。application则是保存在整个应用程序范围内的信息,相当于全局变量。通常使用最频繁的是session,那么session和cache又有什么区别呢?

本节结合使用经验,详细介绍session缓存和cache缓存的区别。

(1)最大的区别是cache提供缓存依赖来更新数据,而session只能依靠定义的缓存时间来判断缓存数据是否有效。

(2)即使应用程序终止,只要cache.add方法中定义的缓存时间未过期,下次开启应用程序时,缓存的数据依然存在。而session缓存只是存在于一次会话中,会话结束后,数据也就失效了。

(3)session容易丢失,导致数据的不确定性,而cache不会出现这种情况。

(4)由于session是每次会话就被加载,所以不适宜存放大量信息,否则会导致服务器的性能降低。而cache则主要用来保存大容量信息,如数据库中的多个表。

(5)vs2005的测试版提供了将缓存保存在硬盘上的参数,但正式版中取消了这个功能,估计其在以后版本中会重新实现。而session目前只能保存在内存中,对其性能有影响。