application和session和缓存的区别

application和session和缓存的区别

ID:40545798

大小:49.50 KB

页数:5页

时间:2019-08-04

application和session和缓存的区别_第1页
application和session和缓存的区别_第2页
application和session和缓存的区别_第3页
application和session和缓存的区别_第4页
application和session和缓存的区别_第5页
资源描述:

《application和session和缓存的区别》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Application,Cache,Session,Cookie,Viewstate用法和区别分类:Asp.net2009-12-0211:16532人阅读评论(0)收藏举报Application任意大小,整个应用程序的生命周期,所有用户,服务器端。Cache任意大小,程序指定生命周期,所有用户,服务器端。(比较灵活)Session小量数据,某个用户活动时间+延迟时间(默认20分钟),单个用户,服务器端。Cookie小量数据,程序指定生命周期,单个用户,客户端。ViewState小量数据,一个web页面的生命期

2、,单个用户,客户端。 =========================================================================       1.Application:用于保存所有用户共用的数据信息。在Asp.Net中类似的配置数据最好保存在Web.config文件中。如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart事件(global.asax)中完成。尽管使用Application.Lock和Applica

3、tion.Unlock方法来避免写操作的同步,但是它串行化了Application对象的请求,当网站访问量大的时候会产生严重的性能瓶颈。因此最好不要用此对象保存大的数据集。使用如下://存放信息Application["key"]=keyValue;//读取信息Object=Application["key"];  2.Cache:使用如下://存放方式1Cache["key"]=keyValue;//与2同效 //存放方式2//有多个重载,可指定依赖(变量、文件、目录、sql数据库表)//会覆盖具有相同key

4、的keyValueCache.Insert("key",keyValue); //存放方式3//可指定依赖(变量、文件、目录、sql数据库表)//当已存在相同的key时,操作失败,但也不会抛异常Cache.Add("key",keyValue,...); //读取方式ObjectkeyValue=Cache["key"];ObjectkeyValue=Cache.Get("key"); //移除Cache.Remove("key"); 自动移除数据出于以下原因之一,ASP.NET可以从缓存中移除数据:由于服务器

5、上的内存不足,开始一个称为“清理”的过程。由于缓存中的项已过期。由于项的依赖项发生了更改。为了帮助管理缓存项,在将项从缓存中移除时,ASP.NET会通知应用程序。清理清理是在内存不足时从缓存中删除项的过程。如果某些项在一段时间内未被访问,或是在添加到缓存中时被标记为低优先级,则这些项会被移除。ASP.NET使用CacheItemPriority对象来确定要首先清理的项。有关更多信息,请参见如何:将项添加到缓存中。过期除了清理外,在缓存项过期时,ASP.NET会自动从缓存中移除这些项。向缓存添加项时,可以按下表中

6、的描述设置其过期时间。过期类型说明可调过期指定某项自上次被访问后多长时间过期。例如,可以将某项设置为自上次在缓存中被访问后20分钟过期。绝对过期指定某项在设定的时间过期,而不考虑访问频率。例如,可以将某项设置为在6:00PM过期,或四小时后过期。依赖项可以将缓存中某一项的生存期配置为依赖于其他应用程序元素,如某个文件或数据库。当缓存项依赖的元素更改时,ASP.NET将从缓存中移除该项。例如,如果您的网站显示一份报告,该报告是应用程序通过XML文件创建的,您可以将该报告放置在缓存中,并将其配置为依赖于该XML文件

7、。当XML文件更改时,ASP.NET会从缓存中移除该报告。当代码请求该报告时,代码会先确定该报告是否在缓存中,如果不在,代码会重新创建该报告。因此,始终都有最新版本的报告可用。ASP.NET缓存支持下表中描述的依赖项。依赖项说明键依赖项应用程序缓存中的项存储在键/值对中。键依赖项允许项依赖于应用程序缓存中另一项的键。如果移除了原始项,则具有键依赖关系的项也会被移除。例如,可以添加一个名为ReportsValid的缓存项,然后缓存若干个依赖于ReportsValid键的报告。当ReportsValid项被移除时,

8、所有依赖于它的缓存报告同样也会从缓存中移除。文件依赖项缓存中的项依赖于外部文件。如果该文件被修改或删除,则缓存项也会被移除。SQL依赖项缓存中的项依赖于MicrosoftSQLServer2005、SQLServer2000或SQLServer7.0数据库中表的更改。对于SQLServer2005,缓存中的项可依赖于表中的某一行。有关更多信息,请参见使用SqlCacheDependen

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。