Asp.net mvc 网站之速度优化 -- 页面缓存

news/2024/5/11 18:18:48/文章来源:https://blog.csdn.net/Raywang80s/article/details/74917882

网站速度优化的一般方法

由于网站最重要的用户体验就是速度,特别是对于电子商务网站而言。

一般网站速度优化会涉及到几个方面:

1. 数据库优化 — 查询字段简历索引,使用数据库连接池和持久化,现在还有种趋势,就是选择使用No SQL作为补充;

2. 数据缓存 — 使用Memcached等;

3. 负载均衡 — 使用ngnix等

4. 页面缓存 — 将.aspx, .jsp等动态页面缓存或静态化为.html页面

5. 前端优化 — Yahoo 14条前端优化原则。

城江湖(Incity.me)针对 2 数据缓存, 4 页面静态化, 5 Yahoo 14条优化原则做了具体的实践,并获得了实际效果,以后的系列文章会举出一些实践方法和列出部分代码,这次主要针对页面缓存进行说明。

 

哪些地方需要页面缓存?

以InCity为例,首页,商品分类,帮助中心等都是用于展示商品和网站信息的,与用户的交互相对较少。在某个时间段内(1小时),所有用户看到的页面都应该是相同的, 并不会因为不同的用户而显示不同的信息。

 

全局页面缓存 OutputCache

InCity是基于ASP.NET MVC开发的,熟悉ASP.NET MVC的童鞋都知道,ASP.NET MVC自带了一个属性叫OutputCache,  最常用的是Duration和VaryByParam两个参数:

MSDN:

Duration:表示页或用户控件进行缓存的时间(以秒计)

VaryByParam:分号分隔的字符串列表,用于使输出缓存发生变化。

 

Code:

[OutputCache(Duration="3600" VaryByParam="type")]

public ActionResult Catalog(string type)

解释一下:

1. 用户第一次输入http://incity.me/catalog/food,从后台获取,并为catalog/food生成缓存页面,3600秒内缓存页面有效。

2. 用户再次输入http://incity.me/catalog/food,从缓存页面获取。

3. 当用户第一次输入http://incity.me/catalog/play的时候,因为{type}从food变成了play,数据从后台获取,并为catalog/play生成缓存代码3600秒内有效。

4.用户再次输入http://incity.me/catalog/play,从缓存页面获取。

 

局部页面缓存 PartOutputCache

上 述的解决方法对于大部分都可以处理,但是如果遇到下面的情况怎么办?登录前首页右侧的面板是显示登录区,登录后是显示用户信息,而首页如果采用 OutputCache全局页面缓存的话,则右侧显示不同的账户信息的。因为前面我们已经提到,在某个时间段内(1小时),所有用户看到的页面都应该是相 同的。

登录前:

登录后:

 

这时候就需要针对左侧的商品作局部缓存,而对右侧不使用缓存。如何达到这个效果呢?遗憾的是,这时候微软官方的ASP.NET MVC并未提供这种功能,因此参考使用了PartOutputCache,用法如下:

[PartOutputCache(CacheDuration = 3600)]

public ActionResult ShowCase()

aspx页面代码则变成了

<div id=”Container”>

<!–使用了缓存–>

<%Html.RenderAction<HomeController>(p => p.IndexShowCase());%>

<!–没有使用缓存–>

<%Html.RenderAction<HomeController>(p => p.LoginPanel());%>

</div>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_838628.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET 网站路径

使用网站中的资源时&#xff0c;通常必须指定资源的路径。例如&#xff0c;您可以使用 URL 路径引用页面中的图像文件或网站中其他位置处的页面的 URL。同样&#xff0c;Web 应用程序中的代码可以使用基于服务器的文件的物理文件路径对文件进行读写操作。ASP.NET 提供用于引用资…

SEO之sitemap.xml

Sitemap 简介&#xff1a;Sitemap 即网站地图一般有两种&#xff0c;一种是给用户看的 &#xff0c;主要格式为HTML&#xff0c;主要是呈现网站各个栏目的分布&#xff0c;这里不做讨论。 而对于SEOer 来说&#xff0c;要关注的是给搜索引擎看的网站地图 。Sitemap&#xff08;…

SiteMap Maker v1.01 网站地图生成器

主要特点介绍&#xff1a; 很多人的网站在Google&#xff0c;百度&#xff0c;雅虎等各大搜索引擎收录非常少&#xff0c;而且长期收录不增长或者增长很慢。 这主要是因为&#xff0c;搜索引擎没有足够的信息爬行到这个网站的每一个页面。这大大影响了搜索引擎为网站带来…

We7荣获“政府网站群建设最佳产品奖”

8月23日&#xff0c;由中国信息化推进联盟、中国计算机行业协会、中国计算机报社等国家信息化领域权威机构和权威媒体共同组织开展的“第四届中国行业信息化奖项评选活动暨2012中国行业信息化颁奖盛典”在北京国宾酒店隆重举办。来自行业信息化领域的500余位企业代表、政府领导…

ASP.NET网站开发实用代码

网站制作时显示的服务器资料 Environment.TickCount /60000//获取计算机运行时间inttick Environment.TickCount /60000;lblTic.Text (tick /60).ToString() "小时 "(tick %60).ToString() "分钟";intrem Convert.ToInt32(Environment.WorkingSet) /1024; …

网站进度条完美解决方案

对网站的进度条感兴趣开始于使用360安全卫土时&#xff01;由于这个软件的绿色进度条&#xff0c;我感觉这个软件很新奇、很神秘、技术含量很技高、细节性东西做得不错&#xff0c;用四个字来概括就是“焕然一新”。其实没使用这个软件之前&#xff0c;我觉得这东西并没不是那么…

生成网站缩略图代码(C#)

这几天博客园都在讨论这个&#xff0c;看了How to take screenshot (thumbnail) of a web site with ASP.NET 2.0?&#xff0c;根据VB.NET代码&#xff0c;搞出来一个C#版本的&#xff0c;看看效果还不错,百度不能正常显示&#xff0c;其他几个大站&#xff08;google,sohu)显…

一个图标搜索网站

http://www.iconlet.com/ 里面的图标很全&#xff0c;你需要的几乎都能找到&#xff0c;并且是 png 的哟&#xff0c;做平面的这下爽啦&#xff01; 贴几张图&#xff0c;馋馋大家&#xff1a; 对于我个人来说&#xff0c;我非常喜欢上面的这种风格…

开发视频网站,asp.net视频文件转换.fla格式

最经公司有一个小项目需要把视频转换成FLASH文件&#xff0c;效果就是像用户注册youku网一样&#xff0c;自己可以视频上传&#xff0c;转换成flash格式播放。 苦于以前没有做过&#xff0c;于是马上搜索了相关的文章&#xff0c;看了 http://www.cnblogs.com/xiucai/ 和 http…

ASP.NET2.0实现网站的自动升级

网站的自动升级主要是要实现从一台服务器上下载某些文件到本服务器上&#xff0c;然后对下载下来的文件进行更新等操作。比如&#xff0c;现在有服务器A,服务器B和客户端C。作为COM公司开发的产品DIV网站系统被安装到服务器B上&#xff0c;而它的更新设置及更新文件则在服务器A…

谈谈wordpress网站固定链接URL如何设置好?

有不少站长不知道wordpress网站固定链接URL如何设置好&#xff0c;今天福利吧就来仔细给你分析一下。很多人已经都知道了wordpress默认的网址形式是带问号的&#xff0c;这种网址对SEO 来说很不好&#xff0c;是动态的网址&#xff0c;影响搜索引擎的排名和收录。 那么wordpres…

【seo】网页开发 代码优化 1

URL要静态&#xff0c;不能是动态或者伪静态。网站图片 img标签添加alt和title属性。 Title“这张图片的内容”&#xff0c;比如这是一张人物图片&#xff0c;那么就是title“人物名” Alt “XXX-建中集团”&#xff0c;这里的XXX指人、物名或栏目名。例子同上alt“人物名-建…

【seo】网页开发 代码优化 2

超链接<a> 目前<a>标签隐藏在CSS里&#xff0c;不能被搜索引擎抓取&#xff0c;应直接放在前端<div>代码中&#xff0c;不要放在样式里&#xff0c;也不要用任何方式隐藏。 参考案例&#xff1a;百度百科 CSS CSS放在统一的样式文件中&#xff0c;需要使用的…

【seo】网页开发 代码优化 3

TDK A.首页 title:中商碳素研究院-铝及铝用碳素企业探索者 Keywords:中商碳素研究院&#xff0c;碳素&#xff0c;铝用碳素&#xff0c;有色金属 Description&#xff1a;中商碳素研究院总部位于上海&#xff0c;是有色金属、铝及铝用碳素行业国内首家互联网科技、工业、贸易…

【seo】网站优化工具 - 5118 入门教程

网站工具&#xff1a; https://www.5118.com/ 1、 打开官网 2、安装浏览器插件 3、开始SEO的工作

盘点:144个免费学习网站,全网最全资源合集

亲测整理144个免费学习网站&#xff0c;强烈推荐其中44个&#xff0c;正文多图预警。 先看目录&#xff1a; 一、国内MOOC类网站&#xff08;多综合类&#xff09; 小科普&#xff1a;MOOC&#xff08;massive open online courses&#xff09;&#xff0c;即大型开放式网络课…

大型网站之分布式会话管理

为什么80%的码农都做不了架构师&#xff1f;>>> 随着网站的功能和用户越来越多&#xff0c;单机器服务部署的Web应用已经不能再支持了。这时候就需要优化或调整目前的架构&#xff0c;具体怎么优化&#xff0c;或先优化哪部分&#xff0c;这取决于网站的具体情况&a…

15个优秀的PHP免费在线学习网站

PHP是一种功能强大的服务器端脚本语言&#xff0c;旨在帮助Web开发人员快速开发动态页面。 本文为您介绍15个优秀的PHP免费在线学习网站&#xff0c;希望对您学习PHP有所帮助。 01. The official PHP website – PHP Manual 02. W3 Schools PHP Tutorial 03. Tizag.co…

图文解说Win7系统机器上发布C#+ASP.NET网站

1. 概述 在一台干净的Win7机器上发布ASP.NET网站需要准备的有&#xff1a; a) .NET Framework 环境 b) 数据库 c) IIS 互联网信息服务 d) 待发布的网站代码 其中.NETFramework环境一般安装了VS2008 或者VS2010都会自带&#xff0c;也可以下载独…