缓存和页面静态化的网站性能优化方法研究(3)
时间:2017-02-14 13:03 来源:毕业论文 作者:毕业论文 点击:次
从网站优化方面来分析,搜索引擎更喜欢静态的网页,这样便利于SEO的抓取,提高搜索引擎SEO排名,进而提高了网站的加载速度。 (3)静态网页的更安全,理论上讲是没有攻击漏洞的 从安全角度讲,静态网页不宜遭到黑客攻击,黑客攻击一般是从网站的后台、网站采用程序、数据库的地址等方面入手,如果他们不知道这些,他们就无从下手。 从网站稳定性来讲,如果程序或者数据库出了问题,会直接影响网站的访问,而静态网页就避免了这种情况。它不会因为程序,而损失网站数据,进而影响网站正常打开。 3.缓存技术的介绍和实例实现 Web缓存技术被认为是减轻服务器负载、降低网络拥塞的有效途径。在ASP.NET中常用的缓存技术有页面输出缓存和页面部分缓存。 3.1页面输出缓存 3.1.1页面输出缓存的原理 页面输出缓存是缓存机制中最简单的方法,这种方法是把整个页面的内容保存在服务器的内存中,当用户请求该页面的时候,系统会从内存中输出相关的数据,直到缓存数据达到生命周期,才会访问服务器重新加载。这个过程的优点就是当用户需要时,看到的数据是从缓存中发送来的,而不是访问数据库查找所需内容重新生成的网页,这样大大减轻了数据库的压力同时页面的加载速度也会有很大的提升。通常情况下,页面输出缓存是对于那些不经常变动的,但却需要大量处理才能编译完成的页面效果很明显。其原理图如下。 实现页面输出缓存的方法一般是在ASPX网页的代码中的<%@Page>指令下方增加如下代码: <%@ OutputCache Duration ="60" VaryByParam = none%> 其中,OutputCache表示设置缓存,Duration="60"代表缓存在内存中存在的时间,也就是缓存的生命周期是60秒,VaryByParam = none%属性用来指缓存消失的条件,none表示不管是什么查询,返回的缓存页面都是不变的。 3.1.2页面输出缓存实例展示 页面添加缓存机制后的第一次加载。 在缓存有效期内再次加载。 从上面的对比可以看出:第一次加载需要的时间是:42ms,而在缓存有效期内再次加载所需要的时间是:16ms。显然,有缓存整个页面有效地提高网站的性能。 3.2页面部分缓存 3.2.1页面部分缓存的原理 通常情况下,一个页面中某些部分是不会经常改变的,但是也有些部分是需要更新或者改变的,针对这种情况我们可以看到将整个页面都写入缓存是不合适的,所以就只能缓存这个页面的一部分,也就是页面部分缓存。页面部分缓存是将页面部分内容保存在内存中以便于响应用户请求,而页面其他部分内容是动态网页,以便随时更新内容。页面部分缓存是将需要缓存的信息包含在一个用户控件内,然后,将该用户控件标记为可缓存的,以此来缓存页面输出的部分内容。但是由于这种方式只缓存了页面中的特定内容,而没有缓存整个页面,因此,每次请求页面都需重新创建整个页。原理图如下。 页面部分缓存设置的实质其实就是对用户控件进行缓存配置,主要方法有: (1)使用@OutputCache指令以声明方式为用户控件设置缓存功能。例如如下实例: <%@OutputCache Duratio ="60" VaryByParam = "none" VaryByControl = "ControlID"%> 以上代码为用控件中的服务器控件设置缓存,其中缓存时间是60秒,ControlID是服务器控件的ID属性值。 (2)在代码隐藏文件中使用PartisalCachingAttribute类设置用户控件缓存。例如下面代码: [PartialCaching(100)] (责任编辑:qin) |