Cache笔记

 2023-09-10 阅读 19 评论 0

摘要:1.页面输出缓存 1>.在aspx页面顶部加上下面语句 ,则设置整个页面进行输出缓存<%@ OutputCache Duration="30" VaryByParam="none" %> Duration:设置缓存的有效时间; VaryByParam:根据Request请求的参数进行改变缓存页面 VaryByCo
1.页面输出缓存
   1>.在aspx页面顶部加上下面语句 ,则设置整个页面进行输出缓存 
       <%@ OutputCache Duration="30" VaryByParam="none" %>
      Duration:设置缓存的有效时间;
      VaryByParam:根据Request请求的参数进行改变缓存页面
      VaryByControl:则根据页面中控件属性的改变进行缓存页面
eg:       <%@ OutputCache Duration="30" VaryByParam="id" %>
      则当请求的URL为 http://localhost/default.aspx?id=1 页面进行缓存,则如果请求URL地址 http://localhost/default.aspx?id=2 中ID数值进行改变 ,则页面马上进行重新缓存。url地址为http://localhost/default.aspx?id=2&name=abc 则设置成VaryByParam="id;name";
 2>.用户控件进行缓存[WebUserControl.ascx]
           在建立WebUserControl.ascx 用户控件时候,我们可以把单独不常改变数据的用户控件进行缓存.
使用方法:在.ascx文件的顶部加上"<%@ OutputCache Duration="10" VaryByParam="none" %>" 即可
 3>.页面输出缓存进行局部取消缓存
     页面局部取消缓存我们使用控件Substitution :
        <asp:Substitution ID="Substitution1" runat="server" MethodName="yourMethod" />
其中MethodName用来设置不缓存局部获取字符串方法。
ContractedBlock.gifExpandedBlockStart.gifCode
    protected static string yourMethod(HttpContext context)
    {
        
return DateTime.Now.ToString();
    }
    
/*
     注意: 
     * 此方法必须为静态方法 
     * 参数类型必须为HttpContext
     * 返回类型必须为字符串!
 
    */
 
2.程序Object 对象进行缓存     
   在项目开发中 ,我们有时候 通过抽象工厂模式拓展项目灵活性。在可以通过配置文件去对逻辑层中的模块进行缓存

   
ContractedBlock.gifExpandedBlockStart.gifCode
/// <summary>
    
/// 获取被缓存的对象
    
/// </summary>
    
/// <param name="valueName">对象key</param>
    
/// <returns></returns>
    public static Object getValue(string valueName)
    {
        System.Web.Caching.Cache objcache 
= HttpRuntime.Cache;
        
return objcache[valueName];
 
    }
    
/// <summary>
    
/// 插入被缓存的对象
    
/// </summary>
    
/// <param name="obj">需要缓存的对象</param>
    
/// <param name="valueName">对象key</param>
    public static void insertValue(object obj,string valueName)
    {
        System.Web.Caching.Cache objcache 
= HttpRuntime.Cache;
        objcache.Insert(valueName, obj);
         

    }
    
/// <summary>
    
/// 插入对文件依赖的缓存对象。cache的原理、
    
/// 被依赖的文件修改 则缓存对象自动清除
    
/// </summary>
    
/// <param name="obj"></param>
    
/// <param name="valueName"></param>
    
/// <param name="filePath">文件的相对路径</param>
    public static void insertValue(object obj, string valueName, string filePath)
    {
        System.Web.Caching.Cache objcache 
= HttpRuntime.Cache;
        objcache.Insert(valueName,obj,
new CacheDependency(HttpContext.Current.Server.MapPath(filePath)));

 
    }
   
/// <summary>
    
/// 移除被缓存的对象
   
/// </summary>
   
/// <param name="valueName"></param>
    public static void removeValue(string valueName)
    {
        System.Web.Caching.Cache objCache 
= HttpRuntime.Cache;
        objCache.Remove(valueName);
    }

         参考:http://ltp.cnblogs.com/

转载于:https://www.cnblogs.com/rhythmK/archive/2009/09/30/1576811.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/34793.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息