页面缓存策略
来源:互联网 发布:斯塔克大厦数据 编辑:程序博客网 时间:2024/06/05 17:12
页面缓存策略的实施可以很好的解决那些请求多,而变化少的页面或是数据的性能问题,一旦我们为这些内容实施了缓存策略,那末在特定时间以内(开发者设置),如果有新的请求,系统会直接从内存中调出缓存的内容,反馈给client,而不必每次都从数据库重新获得数据,再进行html转换后反馈。
1.数据缓存:这里指的是利用cache进行数据缓存。关于cache的用法之前已经谈过,通常的做法是:对某些信息insert到cache中,并设置过期时间;每次调用cache的时候,检查是否为null ,如果是null,重新insert,负责直接使用cache中数据即可.当然也经常会采用文件依赖来动态更新cache数据。
2.页面缓存:
1)整个页面缓存。只需要在页面头部加入:
<%...@ OutputCache Duration ="5" VaryByParam ="none" %>
其中的参数的含义,可以查询MSdn详细了解.这种情况实用于整个页面在一段时间内不会发生变化,比如“本周焦点”,“使用说明”等。但是实际上,我们还要对其中某些部分取消缓存动态显示。
2)使用Substitution控件实现在整页缓存的页面中部分动态变化。
<asp:Substitution ID="Substitution1" runat="server" MethodName ="MethodName"/>
public static string getTime(HttpContext context)
...{
return DateTime.Now.ToString();
}
...{
return DateTime.Now.ToString();
}
注意:这个方法必须是:静态的public,并且只能返回string ,参数为HttpContext.
当然还能做更多的事情,比如你可以在此检查用户权限,并显示用户信息等。
3)如果只想使部分页面缓存,采用用户控件就是一个 好办法,因为在这里就可以设置期缓存参数:
<%...@ Control Language="C#" AutoEventWireup="true" CodeFile="uc1.ascx.cs" Inherits="uc1" %>
<%...@ OutputCache VaryByParam ="none" Duration ="10" %>
UC-DateTime:<asp:Label ID="Label1" runat="server" Text=''></asp:Label>
<%...@ OutputCache VaryByParam ="none" Duration ="10" %>
UC-DateTime:<asp:Label ID="Label1" runat="server" Text=''></asp:Label>
public partial class uc1 : System.Web.UI.UserControl
...{
protected void Page_Load(object sender, EventArgs e)
...{
Label1.Text = DateTime.Now.ToString();
}
}
...{
protected void Page_Load(object sender, EventArgs e)
...{
Label1.Text = DateTime.Now.ToString();
}
}
这样,如果把这个控件拖到页面中,那只会缓存uc部分,而不会对其他部分影响。
- 页面缓存策略
- 缓存策略;
- 缓存策略
- 缓存策略
- 缓存策略
- 缓存系列--缓存策略
- 云客Drupal8源码分析之页面缓存PageCache的请求策略RequestPolicy及响应策略ResponsePolicy
- 缓存Memcached以及缓存策略
- 缓存Memcached以及缓存策略
- 缓存Memcached以及缓存策略
- 缓存Memcached以及缓存策略
- 页面缓存
- 页面缓存
- 页面缓存
- 页面缓存
- 页面缓存
- 页面缓存
- 页面缓存
- 幸福是一种感觉!
- js 计算,显示运行时间
- 一段关于对象引用的形象解释
- 怎么做需求和概要设计
- 生意是如何做成的
- 页面缓存策略
- zipfile的重新封装
- 关于接口的理解问题
- 文件操作
- MySql Connector-Net 所有版本的下载地址
- 如何提高multiple 多选列表框的大量数据移动到另一个列表框效率
- OO设计原则
- MVC模式
- 谷歌蝉联美国最佳MBA雇主