ASP.NET 数据缓存

原创 2018年04月16日 19:48:37

数据缓存

课程目标

数据缓存概述

页面输出缓存

页面部分缓存

应用程序缓存

缓存概述

缓存是一种在计算机中广泛用来提高性能的技术,他将访问频率高或构造成本高的数据保留在内存中。Web应用程序缓存用于在HTTP请求时保留页或者数据,并在新创建的情况下多次使用。一旦应用程序停止或者重新启动,缓存会被清除。

声成高性能、可缩放的Web应用程序最重要的的因素之一是能够在首次请求时将存储在内存中,不管是数据对象还是页的某个部分。

页面输出缓存

页面输出缓存作为最简单的缓存形式,将已经生成的动/静态页面全部内容保存在服务器内存中。当请求时,系统将缓存中的相关数据直接输出,直到缓存过期。缓存不需要经过页面处理生命周期,可以缩短请求的响应时间提高性能。

设置页面输出缓存的两种方式:

1.@OutPutCache指令

2.页面输出缓存API--HttpCachePolicy类

@OutPutCache指令:ASP.NET中的输出缓存可以使用服务器的内存将处理和显示页面的输出缓存起来。启动页面缓存机制的方法只需要在页面的顶部添加一个@OutPutCache指令,就可以将缓存页面输出:

@OutPutCache指令的常用属性:





HttpCachePolicy类

使用@HttpCachePolicy指令实现对于输出缓存的各项设置,同时还可以使用输出缓存API来编程设置页面输出缓存。这种使用编程来设置页面输出缓存的方法的核心是调用System.Web.HttpCachePolicy。该类主要包含用于设置缓存特定的HTTP标头的方法和用于控制ASP.NET页面输出缓存的方法。

页面缓存API的HttpCachePolicy类的使用方法:

Response.Cache.SetExpires(DateTime.Now.AddSeconds(30));

Response.Cache.SetExpires(DateTime.Parse("19:00:00");

Response类的Cache属性用于获取页面缓存策略,该属性的类型是HttpCachePolicy。可以通过调用Response.Cache实例,进而实现对与当前页面输出缓存的设置。

页面部分缓存

页面部分缓存是指输出页面的某些部分,而不是缓存整个页面内容。实现页面部分缓存有两种机制:一种是空间缓存。另一种是缓存后替换。

控件缓存

控件缓存是通过用户控件来实现局部页面缓存机制的。控件缓存类似于页面输出缓存,他们使用相同的指令@OutPutCache

缓存后替换

ASP.NET页面中既包含静态内容,又包含基于数据库的动态内容。静态内容通常不会发生变化。因此,静态内容对数据缓存是非常必要的。基于数据的动态不同,数据库中的数据可能每时每刻都在发生变化,如果用动态数据进行缓存,肯能会造成数据不能及时更新。使用Substitution控件能够指定页面输出缓存中需要以动态内容替换该控件的部分,对整个页面进行输出缓存,使用Substitution控件指定页面中免于缓存的部分。在使用Substitution控件时,将整个页面缓存起来,需要动态改变内容的地方用Substitution控件代替即可。属性用于获取或者设置当Substitution控件执行时为回调而调用的方法名称,有三点:

1.该方法必须被定义为静态方法

2.该方法必须接受HttpContext类型的参数

3.该方法必须返回String类型的值

页面输出缓存也页面部分缓存的代码如下:

打开“Microsoft Visual Studio 2010”之前,要先编写数据库。

首先打开“Microsoft Visual Studio 2010”,点击“文件”--“新建”--“项目”,弹出“新建项目”模版,在模版中选择“web”--“ASP.NET应用程序”,点击“确定”。然后再标题头输入“<%@ OutputCache Duration="1" VaryByParam="none" %>”,之后绑定数据库(图1),之后在后台编写代码(图2),然后就是运行(图3)。

                                                      图1


图2

图3

这是创建的页面输出缓存,页面部分缓存是在“WebApplication1”右键点击“添加”--“新建项”,弹出模版,选择“Web用户控件”,点击“添加”,绑定成绩表(图4),之后在后台编写(图5),然后再添加一个webForm窗体,把创建的“Web用户控件”拉到“Webform”中(图6),然后点击在运行(图7)。

                                         图4


                                      图5


                                    图6

图7

之后就是Substitution控件的用法,添加一个新的“Webform”项目,在页面代码中输出指令(图8),在后台编写(图9),运行(图10)。

                                                  图8


                  图9                                                                                                                图10


应用程序数据缓存

页面输出缓存和页面部分缓存可以将页面整体或者其中的部分存储到内存中。应用程序数据缓存的主要功能是在内存中存储各种也应用程序相关的对象。

Cache类

应用程序数据缓存有Cache类实现,该类属于命名空间System.Web.Caching。

Cache类的主要方法:


add方法与insert方法

添加一个新的“Webform”项目,在页面中拖三个控件(图11),然后一个一个控件点击进入后台代码(图12),之后运行结果为(图13,图14,图15,图16):

                                                   图11


                                           图12


           图13                                         图14                                      图15                              图16



版权声明:转载请注明出处:http://blog.csdn.net/Guobeibei_123 https://blog.csdn.net/Guobeibei_123/article/details/79958046

ASP.NET 缓存技术分析

缓存功能是大型网站设计一个很重要的部分。由数据库驱动的Web应用程序,如果需要改善其性能,最好的方法是使用缓存功能。可能的情况下尽量使用缓存,从内存中返回数据的速度始终比去数据库查的速度快,因而可以大...
  • sundacheng1989
  • sundacheng1989
  • 2013-08-16 14:27:12
  • 11991

用.NET创建定时缓存

在先前的文章里,我详细讨论了.NET缓存的简单用法。不过那点用途还只能是这一话题的“开胃酒”。现在,我们更进一步,在那篇文章所开发的缓存基础上添加条目在缓存中的过期功能。清单A的内容就是上次我们开发的...
  • zgqtxwd
  • zgqtxwd
  • 2008-04-24 03:49:00
  • 76

ASP.net页面缓存技术

  • 2009年12月24日 13:25
  • 55KB
  • 下载

基于ASP.NET缓存与分页策略优化Web数据查询性能

  • 2007年09月14日 19:15
  • 216KB
  • 下载

ASP.NET cache缓存的用法

本文导读:在.NET运用中经常用到缓存(Cache)对象。有HttpContext.Current.Cache以及HttpRuntime.Cache,HttpRuntime.Cache是应用程序级别的...
  • mss359681091
  • mss359681091
  • 2016-04-06 17:21:26
  • 8422

ASP.NET数据缓存技术

  • 2008年09月14日 21:19
  • 11KB
  • 下载

asp.net数据缓存

下面介绍asp.net一些缓存方法。 (1)页面直接缓存@OutputCache Duration="120"VaryByParam="*" %> (2)页面启用缓存,当参数变化页面的缓存消失...
  • learnJSee
  • learnJSee
  • 2012-07-22 20:30:41
  • 1693

ASP.NET数据缓存

1.页面缓存演示。aspx.cs代码:  protected void Page_Load(object sender, EventArgs e)     {         //初试化控件 ...
  • zzjiadw
  • zzjiadw
  • 2011-09-14 12:49:16
  • 391

ASP.NET——数据缓存

页面输出缓存作为最简单的缓存形式,将已经生成的动态/静态页面全部内容保存在服务器内存中。设置页面输出缓存可以使用两种方式:@OutputCache指令页面输出缓存API-HttpCachePolicy...
  • queenFengdabao
  • queenFengdabao
  • 2018-04-16 19:54:42
  • 17

Asp.net 数据缓存

Asp.net  数据缓存asp.net中缓存的使用介绍介绍:          缓存是一种在计算机中广泛用来提高性能的技术,它将访问频率高或者构造成本高的数据保留在内存中。在Web应用程序的上下文中...
  • skk18739788475
  • skk18739788475
  • 2018-04-18 18:50:39
  • 21
收藏助手
不良信息举报
您举报文章:ASP.NET 数据缓存
举报原因:
原因补充:

(最多只允许输入30个字)