欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.Net » 正文

热门阅读

页面缓存(OutPut Caching)

创建时间:2011年07月28日 16:20  阅读次数:(5144)
分享到:
以前做的项目都是局域网传输,同时登陆项目的人也不会很多,所以根本不考虑缓存技术。现在自己做了程序食堂这个网站,就在考虑缓存技术了,因为在互联网上与局域网上毕竟不一样,需要考虑到同时在线人数等问题。

  先说下为什么要用缓存,在正常情况下,当一个用户要访问http://www.lmwlove.com/Default.aspx这个页面时,他的IE会给我们的网站服务器端发出一个浏览请求,我们的服务器收到请求后就会执行Default.aspx文件相关的代码,执行完成后生成一个HTML文件,然后发送给用户的IE,如果有1000个人访问这个页面的话,哪服务器就要把Default.aspx的代码执行1000次再发送1000次,在使用页面缓存技术之后我们把Default.aspx页面缓存起来,这样就有可能做到1000个人访问,在缓存时间内,服务器只执行1次代码,发送1000次,大家想想看这会对服务器的效率有多么大的提高啊!如何做到这一点呢?请看下面的“页面缓存”

页面缓存(OutPut Caching)

  页面缓存的使用方法非常的简单,只需要在aspx页的顶部加一句声明
<%@ OutputCache Duration="60" VaryByParam="none" % >
Duration="60" 的意思是指定缓存的时间为60秒,可根据情况自已设定
VaryByParam="none" 的意思是设定无参数缓存(有参数的缓存下面会讲到)
  这两个参数是必须的,不能缺省。

  以上就是一个最简单的页面缓存的实现方法,再来回过头讲一下原理,先看个例子:
  新建一个index.aspx文件,在页面开始处加一句<%@ OutputCache Duration="60" VaryByParam="none" % >然后在代码里写一句Response.Write(DateTime.Now),运行后显示出了当前时间,好,我们开始刷新这个页面,你会发现页面显示的时间停住不变,始终是第一次运行时的时间,现在,我们等待1分钟后再刷新页面,这时页面显示的时间变成了当前时间,再反复刷新,显示的时间又不变了,为什么呢?当第一个用户请求浏览index.aspx页时,服务器会执行index.aspx的代码生成一个HTML发送给用户,同时把这个HTML缓存到内存中,当第二次,第三次……发送浏览请求时,服务器不再执行index.aspx里的代码而是直接把缓存中的HTML发给用户端,60秒内都是如此,60秒后缓存被消除,当下一个请求出现时服务器会再执行index.aspx的代码,并把生成的HTML缓存60秒。

  这里我们要注意一个问题,如果你的部分数据要求能够实时显示的话,那就不能使用整页缓存了,就要使用部分缓存,如何部分缓存,最简单的办法就是自定义一个用户控件,在用户控件里开头加<%@ OutputCache Duration="60" VaryByParam="none" % >的声明,这样当你在某个页面里使用这个控件时,页面里的其他数据不会被缓存,只有这个控件的内容会被缓存,具体请参看片段缓存
来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 31+11=? 的结果(结果是:42)
结  果: