下载此文档

【IT书籍】缓存解决方案和最佳实践.doc


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
缓存方案和最佳实践
朱荣成
2010/1/20
Zrc000@
1、概述
应用程序构建过程中,为了提高应用程序的性能,缓存处理无疑是一个非常重要的环节。通常,我们将一些频繁被访问的数据,以及一些需要大量处理时间得出来的数据缓存在内存中,从而提高性能。例如,如果程序需要处理一张报表,这张报表的数据是关联的几张数据库表,并通过大量的计算得到的数据。我们知道表关联是比较耗时的,如果关联之后得出的数据再进行聚合排序等操作的话,那速度会更慢。因此,我们把查询的报表数据缓存起来,等下次用户再次请求时直接从内存中读取已经生成好的报表,这样对用户和程序无疑都是一件非常好的事情,用户减少了等待时间,程序减轻了压力。
那么,何乐而不为呢,既然能让大家都开心的事情我们就去做吧。为此,提供了两种缓存方案。第一种是页输出缓存,它保存页处理输出,并在用户再次请求该页时,重用所保存的输出,而不是再次处理该页。第二种是应用程序缓存,它允许缓存您生成的数据,比如自定义报表对象,DataSet,DataTable等。为我们提供的缓存方案只能应用在单服务器中,如果我们的应用程序有几台服务器做负载均衡,或者我们做分布式应用,那么,为我们提供的缓存解决方案发挥的作用就不大了,我们需要其他的解决方案,现在比较成熟的缓存框架有Memcached,此框架用于分布式系统中,适用于Java,,PHP,Ruby等语言环境构建的应用程序。
那么,下面就一一阐述以上提到的缓存方案。
2、页输出缓存
在页输出缓存中,为我们提供了两种解决方案,第一种是页面级输出缓存,第二种是片段缓存(用户控件缓存)。两种方案各有各的应用场景,我们来分别阐述。
、页面级输出缓存
页面级输出缓存是比较简单的缓存形式,它是将响应请求而发送的HTML副本保存在内存中,当再有请求时直接将缓存的HTML输出给用户,直到缓存过期。这样,程序的性能会得到非常大的提升。
实现
具体的实现就非常简单了,只要页面顶部加一条OutputCache指令就可以了。
<%@ OutputCache Duration="10" VaryByParam="none" %>
它支持五个属性(Duration,VaryByParam,Location,VaryByCustom,VaryByHeader),有两个(Duration,VaryByParam)是必须的,我们也就研究这两个属性就可以了,也基本够我们日常使用。
Duration:页面应该被缓存的时间,以秒为单位。必须是正整数。
VaryByParam :Request 中变量的名称,这些变量名应该产生单独的缓存条目。"none" 表示没有变动。"*" 可用于为每个不同的变量数组创建新的缓存条目。变量之间用";" 进行分隔。
Location :指定应该对输出进行缓存的位置。如果要指定该参数,则必须是下列选项之一:Any、Client、Downstream、None、Server 或 ServerAndClient。
VaryByHeader :基于指定的标头中的变动改变缓存条目。
VaryByCustom :允许在 中指定自定义变动(例如,"Browser")。
示例
<1>.在Visual Studio .NET新建一个web项目,
<2>.删除页面的上面的默认HTML代码
<3>.把下面的代码COPY到刚新建的那个页面中
<%@ OutputCache Duration="10" VaryByParam="none"%>
<html>
<head runat="server">
<title>页面输出缓存示例</title>
<script type="text/C#" runat="server">
void Page_Load(object sender, EventArgs e)
{
= "Time:" + ();
}
</script>
</head>
<body>
<strong>页面输出缓存示例</strong>
<hr />
<br />
<asp:Label ID="lblTime" runat="server"></asp:Label>
<br />
<hr />
<a href="?categoryid=test1">categoryid(test1)</a>
<br />
<a href="?categoryid=test2">categoryid(test1)</a>

【IT书籍】缓存解决方案和最佳实践 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人260933426
  • 文件大小90 KB
  • 时间2017-09-28