数据缓存

1、数据缓存

  • 缓存是一种在计算机中广泛应用来提高性能的技术
  • 在Web应用程序的上下文中,缓存用于在Http请求间保留页或者数据,并无在需新建的情况下多次使用它们
  • 目的:节省程序处理时间和资源

2、缓存体系

3、页面输出缓存

页面输出缓存作为最简单的缓存形式,将已经生成的动/静态页面全部内容保存在服务器内存中,页面输出缓存适用于不需要频繁更新数据,而占用大量时间和资源才能编译生成的页面,对于经常更新的页面,则不适用。

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

 

  • @OutputCache指令
  • 页面输出缓存API——HttpCaahePolicy类

(1)@OutputCache指令

使用@OutputCahe指令对于输出缓存的各项设置,简单易行。

例:

<%@ OutputCache Duration="60" VarByParam="none"%>

对于OutputCahe指令Duration和VaryByParam两个属性是必须的。

(2)页面输出缓存API——HttpCaahePolicy类

这种使用变成来设置页面输出缓存的方法核心是调用System.Web.HttpCachePolicy。该类主要包含用于设置缓存特定的HTTP标头的方法和用于控制ASP.NET页面输出缓存的方法。

Response类的Cache属性用于获取页面缓存策略,该属性的数据类型是HttpCachePolicy。

4、页面部分缓存

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

 

  • 控件缓存:将页面中需要缓存的部分至于用户控件(.ascx)文件中,并且为用户控件设置缓存功能
  • 缓存后替换:该方法与控件缓存方法正好相反,将页面某一部分设为不缓存,当再次请求该页面时,将重新处理那些没有设                    置为缓存的内容。

(1)控件缓存

控件缓存与页面输出缓存的@OutputCache指令的相同与不同之处

相同之处:

它们的设置方法基本相同,都是在文件顶部设置包含属性的@OutputCache指令字符串

不同之处:

  1. 控件缓存的@OutputCache指令设置在用户控制文件(.ascx)中,页面输出缓存的@OutputCache指令设置在普通页面(.ascx)中。
  2. 控件缓存的@OutputCache指令只能设置Duration,VaryByParam、VaryByControl、VaryByCustom、Shared和SqlDependency等6个属性,而页面输出缓存的@OutputCache指令则可以设置所有的属性。

(2)缓存后替换

Substitution控件

Substitution控件能够制定页面输出缓存中需要以动态内容替换该控件的部分,即允许对整个页面进行输出缓存,然后使用Substitution控件指定页中免于缓存的部分。

Substitution控件需要设置一个重要属性MethodName,该属性用于获取或者设置当Substitution控件执行时为回调而调用的方法名称。该方法必须要符合三点:

  该方法必须被定义为静态方法。

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

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

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值