ASP.Net缓存总结

.NET ASP.NET 中的缓存Cache 一.为什么要引入缓存Cache? 我们知道,造成高并发的原因是大量读写的问题,一般的对于一个系统,读总是比写多,如我们总是逛淘宝,京东,天猫,唯品会等,但我们并不一定买东西(买东西,即下单,下单的操作,对应DB的Write操作),缓存主要解决读的问题(当然,在后期的文章中,我会讲到消息队列MQ,也是一种缓存机制,其不仅仅解决读的问题,还解决写的问题)。 很好,我们知道缓存主要解决读的问题,那么,我... 阅读详情

提高性能最好最快的办法当然是通过缓存来改善,对于任何一个web开发者都应该善用缓存。Asp.net下的缓存机制十分强大,用好缓存机制可以让我们极大的改善web应用的性能,下面是一些总结的缓存的知识点,与大家分享交流:

1.页面缓存
 


       要实现页面输出缓存,只要将一条 OutputCache 指令添加到页面即可。  

        <%@ OutputCache  CacheProfile=" "  NoStore="True | False"  Duration="#ofseconds"  Shared="True | False" Location="Any | Client | Downstream | Server | None | ServerandClient "  SqlDependency="database/table name pair | CommandNotification "  VaryByControl="controlname"  VaryByCustom="browser | customstring"  VaryByHeader="headers" VaryByParam="parametername" %>  

             CacheProfile

             用于定义与该页关联的缓存设置的名称。是可选属性,默认值为空字符("")。需要注意的是,包含在用户控件中的@ OutputCache指令不支持此属性。在页面中指定此属性时,属性值必须与Web.config文件<outputCacheSettings>配置节下的outputCacheProfiles元素中的一个可用项的名称匹配。如果此名称与配置文件项不匹配,将引发异常。

             NoStore

             该属性定义一个布尔值,用于决定是否阻止敏感信息的二级存储。需要注意的是,包含在用户控件中的@ OutputCache指令不支持此属性。将此属性设置为true等效于在请求期间执行代码“Response.Cache.SetNoStore();”。

            Duration

             用于设置页面或者用户控件缓存的时间。单位是秒。通过设置该属性,能够为来自对象的HTTP响应建立了一个过期策略,并将自动缓存页或用户控件输出。需要注意的是,Duration属性是必需的,否则将会引起分析器错误。

             Shared

             该属性定义一个布尔值,用于确定用户控件输出是否可以由多个页共享。默认值为false。注意,包含在ASP.NET页中的@ OutputCache指令不支持此属性。

            Location

             用于指定输出缓存项的位置。其属性值是OutputCacheLocation枚举值,它们是Any、Client、Downstream、None、Server和ServerAndClient。默认值是Any,表示输出缓存可用于所有请求,包括客户端浏览器、代理服务器或处理请求的服务器上。需要注意的是,包含在用户控件中的@ OutputCache指令不支持此属性。

             SqlDependency

             该属性标识一组数据库/表名称对的字符串值,页或控件的输出缓存依赖于这些名称对。需要注意:SqlCacheDependency类监视输出缓存所依赖的数据库中的表,因此,当更新表中的项时,使用基于表的轮询将从缓存中移除这些项。当通知(在SQL Server 2005中)与CommandNotification值一起使用时,最终将使用SqlDependency类向SQL Server 2005服务器注册查询通知。另外,SqlDependency属性的CommandNotification值仅在ASP.NET页中有效。控件只能将基于表的轮询用于@ OutputCache指令。

             VaryByControl

             该属性使用一个分号分隔的字符串列表来更改用户控件的输出缓存。这些字符串代表在用户控件中声明的ASP.NET服务器控件的ID属性值。除非已经包含了VaryByParam属性,否则在@ OutputCache指令中,该属性是必需的。

             VaryByCustom

             用于自定义输出缓存要求的任意文本。如果赋予该属性值是browser,缓存将随浏览器名称和主要版本信息的不同而异。如果输入了自定义字符串,则必须在应用程序的Global.asax文件中重写HttpApplication.GetVaryByCustomString方法。

            VaryByHeader

             该属性中包含由分号分隔的HTTP标头列表,用于使输出缓存发生变化。当将该属性设为多标头时,对于每个指定的标头,输出缓存都包含一个请求文档的不同版本。VaryByHeader属性在所有HTTP 1.1缓存中启用缓存项,而不仅限于ASP.NET缓存。用户控件中的@ OutputCache指令不支持此属性。

             VaryByParam

             该属性定义了一个分号分隔的字符串列表,用于使输出缓存发生变化。默认情况下,这些字符串与用GET方法属性发送的查询字符串值对应,或与用POST方法发送的参数对应。当将该属性设置为多参数时,对于每个指定的参数,输出缓存都包含一个请求文档的不同版本。可能的值包括“none”、“*”和任何有效的查询字符串或POST参数名称。值得注意的是,在输出缓存ASP.NET页时,该属性是必需的。它对于用户控件也是必需的,除非已经在用户控件的@ OutputCache指令中包含了VaryByControl属性。如果没有包含,则会发生分析器错误。如果不需要使缓存内容随任何指定参数发生变化,则可将该值设为“none”。如果要使输出缓存根据所有参数值发生变化,则将属性设置为“*”。 
      
        创建页面输出缓存文件依赖

       
示例代码:Response.AddFileDependency(MapPath("test.xml"));
       如需要建立依赖多文件关系,则使用AddFileDependencies()方法。
       
        使用编程方式设置页面缓存过期
       
       
示例代码:HttpResponse.RemoveOutputCacheItem(Page.ResolveUrl("~/test.aspx"));
       此方法只接受一个"虚拟绝对"路径,因此需用Page.ResolveUrl()方法转换
       
        使用编程方式设置多个页面缓存过期(创建键依赖(key dependency))
       
       示例代码:
       缓存页面:PageLoad: 
        Cache.Insert(“key”,DateTime.Now);
        Response.AddCacheItemDependency("key");
       通过此法向多个页面添加依赖项
       移除依赖项:PageLoad:
       Cache.Remove("key");

        以编程方式操作页面输出缓存

       
操作由Response.Cache属性暴露的HttpCachePolicy类对象的方法。

        创建页面输出缓存配置

    <system.web>
          <caching>
                <outputCacheSettings>
                    <outputCacheProfiles>
                            <add name="CacheProfile1" duration="60" />
                    </outputCacheProfiles>
                </outputCacheSettings>
          </caching>
       </system.web>

2.部分页面缓存

        缓存后替换
       
       采用声明方式,使用Substitution控件,设置MethodName属性所需的方法,此方法必须是静态方法,因为当前页输出缓存时,页面实例还没被创建。注:AdRotator内部使用了缓存后替代。
       
       以编程方式设置缓存后替换,使用Response.WriteSubstitution()方法,好处:1,此方法引用的方法不一定是当前类的方法,可以是另一个类的实力或静态方法。2,可以在自定义控件中使用此方法实现缓存后替换。
       
        部分页面缓存:用户控件缓存
       
       给用户控件添加<%@ OutputCache%>指令。此指令包含一个Shared属性,可设置 共享用户控件的输出缓存。

        以编程方式设置用户控件缓存

       当用户控件中包括<%@ OutputCache%>指令时,可以通过用户控件的CachePolicy属性所暴露的ControlCachePolicy类的实例的属性控制修改空间如何缓存。

        创建用户控件缓存的文件依赖

       可以使用CacheControlPolicy.Dependency属性在一个缓存了的用户控件和文件系统中一个文件间创建一个依赖,示例代码:
       PageLoad:
       CacheDependency depend=new CacheDependency(MapPath("~/test.xml"));
       this.CachePolicy.Dependency=depend;
       
        缓存动态载入的用户控件

       
可以使用Page.LoadControl()方法载入用户控件,当具有缓存特性的用户控件被载入时,Asp.net Framework自动一个PartialCachingControl类的实例包装用户控件。示例代码:
       PageLoad:
       PartialCachingControl cacheme=(PartialCachingControl)Page.LoadControl("test.ascx");
       Cacheme.CachePolicy.SetExpires(DateTime.Now.AddSeconds(10));
       PlaceHolder1.Controls.Add(cacheme);
       Lable1.Text=cacheme.CachePolicy.Duration.ToString();

3.使用DataSource缓存

       SqlDataSource、ObjectDataSource、XmlDataSource控件都包括了用于缓存DataSource承载的属性,好处是数据源控件可以在数据更新时自动重新载入数据。并且可以在多个页面间共享相同的数据,通过一些属性的组合来识别:SelectCommand、SelectParameters、ConnectionString。如果属性相同,即共享相同的缓存数据。

        通过设置属性设置缓存过期策略

       
包括绝对缓存(EnableCaching="True" CacheDuration=“xxx”)和Sliding缓存(EnableCaching="True" CacheExpirationPolicy="Sliding" CacheDuration=“xxx”)
       
        使用ObjectDataSource控件缓存
       
       通过设置控件的EnableCaching、CacheExpirationPolicy、CacheDuration属性以及SelectMethod所制定的方法名来完成。

        使用XmlDataSource控件缓存

       设置DataFile属性创建一个文件依赖。

        创建数据源控件键值依赖
       
       操作步骤
       1、设置数据源控件的CacheKeyDependency属性(key);
       2、在Global.asax创建初始化的(key)缓存项目。代码如下:
       Void Application_Start(Object Sender,EventArgs e)
        {
             HttpContext context=HttpContext.Current;
             context.Cache.Insert(
             "key",DateTime.Now,null,DateTime.MaxValue,Cache.NoSlidingExpiration,CacheItemPriority.NotRemovable,null
            );
        }
       3、在用于更改数据的页面上移除缓存项目(key);
       如在DetailsView控件的ItemInserted事件中重新插入缓存项目,此时每个依赖于这个键值(key)的DataSource会自动重新载入数据,代码如下:
       protected void DetailsView_ItemInserted(object sender,DetailsViewInsertedEventArgs e)
       {
           Cache.Insert("key",Datetime.Now);
        }
       注:以上key值采用当前时间并非必须。

4.Cache对象

       几乎可以给缓存添加任何对象,例如,可以添加自定义控件,DataSet,DataTable,ArrayList和List到缓存。注意:使用从缓存中返回的任何项目,应该总是要检查项目是否为空,如果一个项目已经被删除了,则当将来试图从缓存中读取时,就会返回null。
       详细信息查看msdn Cache 成员
       添加数据缓存到Cache对象示例代码:
        void Page_Load()
        {
             DataTable dt=(DataTable)Cache["dtkey"];
              if(dt==null)
                {
                      dt=getdtFromDB();   //此处调用方法从数据库中返回数据项DataTable
                      Cache.Insert("dtKey",dt,null,DateTime.Now.AddHours(1),Cache.NoSlidingExpiration);   //此处使用绝对过期策略添加项目
                 }
                GridView1.DataSource=dt;
                GridView1.DataBind();
        } 
         private DataTable getdtFromDB()
       {
          //略......
        }

        使用依赖添加项目

       
Asp.net Framework包括三种缓存依赖
       1、CacheDependency——用于创建一个文件依赖或缓存键值依赖。
       2、SqlCacheDependency——用于创建一个对于Microsoft SQL Server数据库表或SQL Server 2005数据库查询的依赖。
       3、AggregateCacheDependency——用于使用多个CacheDependency对象创建依赖,例如,可以用该对象组合文件和Sql依赖。

       CacheDependency类是基类,其他两个类都是从该类继承。

        指定缓存项目优先级
       
       可以指定CacheItemPriority枚举类型任意值。

        配置缓存
        
       详细信息查看Msdn  Caching元素

5.使用SQL缓存依赖

       
Asp.net Framework支持两种类型的SQL缓存依赖:拉和推。第一种模式使用表轮询的 ASP.NET 实现,第二种模式使用 SQL Server 2005 的查询通知功能。可以对任何最近版本的Ms SQL Server,包括Ms SQL server 2005 Express、Ms SQL Server 2000 和 Ms SQL Server 7.0,使用拉SQL缓存依赖。第二种类型推缓存依赖则只能用于Ms SQL Server 2005和Ms SQL server 2005 Express,因为他们依赖SQL Server的Service Broker。
       
        使用拉SQL缓存依赖

        实质上拉SQL缓存依赖使用数据库tigger,当表被修改时,tigger被触发,名为AspNet_SqlCacheTablesForChangeNotification的数据表的一行数据被更新,来记录修改情况,Asp.net Framework使用一个后台线程,来定期拉数据表的修改信息。如果有修改,则依赖于数据表的缓存项目被移除。
       配置拉SQL缓存依赖:
        1、必须对一个或多个数据库表启用SQL缓存依赖。
             
             可以使用框架中的SqlCacheDependencyAdmin类来配置SQL数据库支持拉SQL缓存依赖,由于调用该类的方法需要创建表、存储过程、trigger,出于安全考虑,Asp.net进程并不应该被赋予这些权限,而是通过一个命令行工具来使用此类。
             aspnet_regsql 详细信息访问Msdn  ASP.NET SQL Server 注册工具 (Aspnet_regsql.exe)

             简要步骤: 1、启用特定数据库的SQL缓存依赖。
             aspnet_regsql -c "Data Source=localhost;integrated Security=True;Initial Catalog=Pubs" -ed
                                2、启用特定表的SQL缓存依赖。
             aspnet_regsql -c "Data Source=localhost;integrated Security=True;Initial Catalog=Pubs" -ed -t Titles

        2、必须在Web配置文件中配置SQL缓存依赖。
             <!-- caching section group -->
                <caching>
                <sqlCacheDependency enabled = "true" pollTime = "1000" >   //通过pollTime 的设置,定时拉数据库的修改
                    <databases>
                      <add name="Northwind" 
                         connectionStringName="NorthwindConnectionString1"
                       pollTime = "1000" 
                      />
                    </databases>
                </sqlCacheDependency>
                </caching>

       a、 对页面输出缓存使用拉SQL缓存依赖:<%@ OutputCache%>指令指定sqlDependency属性值:库名和表名(Mydatabase:Mytable);
       
        b、对DataSource控件使用拉SQL缓存依赖:为DataSource控件sqlDependency属性指定值:库名和表名(Mydatabase:Mytable);

        c、对Cache对象使用拉SQL缓存依赖:
       
       void Page_Load()
        {
             DataTable dt=(DataTable)Cache["dtkey"];
              if(dt==null)
                {
                      dt=getdtFromDB();   //此处调用方法从数据库中返回数据项DataTable
                      SqlCacheDependency sqlDepend=new SqlCacheDependecy("Mydatabase","Mytable");
                      Cache.Insert("dtKey",dt,sqlDepend); 
                 }
                GridView1.DataSource=dt;
                GridView1.DataBind();
        } 
         private DataTable getdtFromDB()
       {
          //略......
        }
       
        使用推SQL缓存依赖

       通过Service Broker可以在数据库中的数据变更时自动给应用程序发送一个消息。
       好处:Asp.net应用程序不必定时拉数据库的修改。
       缺点:查询类型有诸多限制(如必须使用两部分的表明:abo.mytabel,查询必须包含一个显示的列名表明:不能使用*,不能引用视图、临时表等,不能包含子查询、外连接、子连接,不能引用大对象、不能使用DISTINCT、COMPUTE、COMPUTE BY、INSERT关键字、不能包含许多聚合函数 等等)

        1.为推SQL缓存依赖配置数据库
       启用Ms SQL Server 2005 Service Broker:
       a、可以通过:Select name ,is_broker_enabled from sys_databases,查询是否对特定的数据库激活。
       b、通过:Alter Database MyBase Set ENABLE_BROKER,启用。
       c、为本地AspNet帐号赋予需要的权限,如:Grant Subscribe Query Notifications To “yourserver/Aspnet”

        2.为推SQL缓存依赖配置应用程序
       void Application_Start(object sender, EventArgs e)
       {
             string conString=WebConfigurationManager.ConnectionStrings["MyContention1"].ConnectionString;
             SqlDependency.Start(conString);
             HttpContext context=HttpContext.Current;
             context.Cache.Insert(
             "key",DateTime.Now,null,DateTime.MaxValue,Cache.NoSlidingExpiration,CacheItemPriority.NotRemovable,null
            );
        }

       a、对页面输出缓存使用推SQL缓存依赖:
       当缓存整个Asp.net页面时,可以使用推Sql缓存依赖。如果包含在页面上的任何Sql命令的结果有变动,页面就会自动从缓存中过期。
       SqlCommand对象包含一个NotificationAutoEnlist属性,该属性默认值为true。当NotificationAutoEnlist启用时,页面和命令间自动创建一个推缓存依赖。注意SqlDataSource的SelectCommand必须符合查询要求。
       
     b、对DataSource控件使用推SQL缓存依赖:
       只需要设置SqlcacheDependency属性即可。设置SqlCacheDependency=“CommandNotification”
       
     c、对Cache对象使用推SQL缓存依赖:
       void Page_Load()
        {
             DataTable dt=(DataTable)Cache["dtkey"];
              if(dt==null)
                {
                      string conString=WebConfigurationManager.ConnectionStrings["MyContention1"].ConnectionString;
                      SqlDatadapter dad=new SqlDataAdapter("Select a,b From dbo.Mytable",conString); //注意查询符合要求
                      SqlCacheDependency sqlDepend=new SqlCacheDependecy(dad.SelectCommand);
                      dt=new DataTable();
                      dad.Fill(dt);
                      Cache.Insert("dtKey",dt,sqlDepend); 
                 }
                GridView1.DataSource=dt;
                GridView1.DataBind();
        }
       注意,SqlCacheDependency类的示例被创建了。一个SqlCommand对象被传递给SqlCacheDependency类的构造函数。如果SqlCommand的结果变化了,则这个DataTable会自动从缓存中失效。这些命令的顺序很重要。必须在执行该命令之前创建SqlCacheDependency对象。如果在创建SqlCacheDependency对象之前调用Fill()方法,则依赖会被忽略。

       至此,有关缓存的总结,已经结束,本章只包含了一些知识要点,具体应用还要是情况对待。

发现可高速缓存的SSL页面处理方法 提供方法解决appscan扫描出来的漏洞《发现可高速缓存的SSL页面》,主要是设置页面不被缓存 立即下载

相关推荐

2024东南大学533复试C++程序设计笔试真题精讲

【东南553复试C++】2024东南大学533复试C++程序设计笔试真题精讲

转遍世界 3414

Asp.net 缓存技术总结

提高性能最好最快的办法当然是通过缓存来改善,对于任何一个web开发者都应该善用缓存。Asp.net下的缓存机制十分强大,用好缓存机制可以让我们极大的改善web应用的性能,下面是一些总结的缓存的知识点,与大家分享交流: 1.页面缓存         要实现页面输出缓存,只要将一条 OutputCache 指令添加到页面即可。           CacheProfile

星星的专栏 769

Win11显卡驱动安装失败的全面解决方案

Windows 11显卡驱动安装失败是一个比较常见的问题,但通过上述方法,我们可以有效地解决这一问题。方法一通过调整组策略编辑器的驱动程序安装策略,可能解决一些因签名问题导致的安装失败;而方法二则通过重装Windows 11系统,为系统提供一个全新的、干净的环境,从而可能解决更复杂的安装问题。在实际操作中,用户可以根据具体情况选择合适的方法来解决显卡驱动安装失败的问题。

nntxthml的博客 2662

禁用页面缓存的终极解决方法,适用于(IE/FireFox)

在web开发中合理使用缓存可以有效的提高网站的性能,但是在某些场合下因为缓存的存在会带来很多的问题。例如:因为缓存的存在会造成重复提交数据的问题,验证码图片不能正确显示的问题,等等。这个时候我们就要禁用页面缓存的功能。        我们常用的做法是发送一个“no-cache”的指令,但是实际使用过程中我们发现,这个指令对IE是有效的,但是对Firefox却没有效,这是因为,使用该指令

cxzhq2002的杂记 1791

微信爬虫服务器,微信文章爬虫使用教程 - 八爪鱼采集器

对于某些用户来说,直接自定义规则可能有难度,所以在这种情况下,我们提供了网页简易模式,网页简易模式下存放了国内一些主流网站爬虫采集规则,在你需要采集相关网站时可以直接调用,节省了制作规则的时间以及精力。微信文章采集下来有很多作用,比如可以将自己行业中最近一个月之内发布的内容采集下来,然后分析文章标题和内容的一个方向与趋势。所以本次介绍八爪鱼简易采集模式下“搜狗公众号”的使用教程以及注意要点。步骤一...

weixin_26712065的博客 3255

deepstream车道线检测自定义插件化,其中要注意pipeline的配置,如果插件位置配置不对,会报input format should be RGBA when using blur-obje

以上代码中,我们先从对象池中获取一个 DsUserMeta 对象,然后使用 get_lane_line_from_frame 函数获取车道线检测结果,并使用 add_lane_line_meta 函数将其添加到 DsUserMeta 对象中。注意,上述代码中的 get_lane_line_from_frame 函数和 add_lane_line_meta 函数需要你自己实现,用于从视频帧中提取车道线检测结果,并将其添加到 DsUserMeta 中。

pvmsmfchcs的博客 690

.NET Core 中有等价的 HttpContext.Response.Cache 吗?

咨询区 jackmusick:我想禁掉浏览器缓存,这样我的client端每次都能看到server端的最新内容,在 asp.net 时代可以这么写。 publicclassNoCache...

dotNET跨平台 550

OpenClaw终于有了图形界面,一键安装使用你的24小时AI 研究助手!

ClawX是连接强大 AI 智能体与普通用户之间的桥梁。基于OpenClaw构建,它将命令行式的 AI 编排转变为易用、美观的桌面体验——无需使用终端。无论是自动化工作流、连接通讯软件,还是调度智能定时任务,ClawX 都能提供高效易用的图形界面,帮助你充分发挥 AI 智能体的能力。ClawX 预置了最佳实践的模型供应商配置,原生支持 Windows 平台以及多语言设置。当然,你也可以通过设置 → 高级 → 开发者模式来进行精细的高级配置。

Maynor的博客 3389

Asp.net中的缓存操作

在ASP.NET实际项目开发中,我们可以采取基本的三种缓存技术:页面缓存、局部页面缓存和数据缓存 1.页面缓存是指缓存整个页面,且设置刷新间隔时间,刷新间隔时间一般以秒为单位(注意:缓存不能全部刷新,且刷新间隔不依赖外部事件); 2.局部页面缓存也叫部分页面缓存,指通过设定影响页面的参数,此时的缓存存储页面的多个版本,一般情况需要按照参数值为这些页面版本设置索引; 3.数据缓存也叫应用程序缓...

Jie_Studio的博客 1166

[23]-->变长SPI接口

然而,FPGA技术复杂,学习门槛较高,许多人(初学者或学生)在学习过程中面临诸多挑战。(1)模式0:SCK串行时钟线空闲是为低电平,数据在SCK时钟的上升沿被采样,数据在SCK时钟的下降沿切换,CPOL= 0,CPHA=0;(2)模式1:SCK串行时钟线空闲是为低电平,数据在SCK时钟的下降沿被采样,数据在SCK时钟的上升沿切换,CPOL= 0,CPHA=1;(3)模式3:SCK串行时钟线空闲是为高电平,数据在SCK时钟的上升沿被采样,数据在SCK时钟的下降沿切换,CPOL= 1,CPHA=1;

m0_46498597的博客 178

OSError We couldn‘t connect to https://huggingface.co to load file, couldn‘t find it chatglm3-6b解决方案

本文主要介绍了OSError: We couldn’t connect to https://huggingface.co to load this file, couldn’t find it in the cached files and it looks like THUDM/chatglm3-6b is not the path to a directory containing a file named config.json.解决方案,希望能对学习python的同学们有所帮助。

weixin_43178406的博客 5万+

ASP.NET中缓存的详解

页面输出缓存属性设置:用@OutputCache指令设置页面输出缓存。@OutputCache指令在asp.net页或者页中包含的用户控件的头部声明。@OutputCache的常用属性如下:1、    CacheProfile 此属性是为了调用webconfig文件中节下 节点下一个可用项。如:webconfig中增加节点caching>        outputCach

GreenOfBamboo的专栏 1390

SpringBoot集成auth0-jwt插件,实现jwt的token生成、校验,用户登录验证,配置拦截器拦截请求校验token功能

该文章介绍了SpringBoot如何集成auth0-jwt插件,实现jwt的token生成、校验,用户登录验证,配置拦截器拦截请求校验token功能. JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在各方之间安全地传输信息。它以JSON对象的形式存在,并使用数字签名来验证信息的完整性和真实性。JWT由三部分组成,分别是Header、Payload和Signature。

yunnuo的博客 1246

ASP.NET缓存机制

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <! /* Style

lffxgthmhfy的专栏 977

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

asp.net的缓存机制

缓存是把应用程序中的需要频繁、快速访问的数据保存在内存中的编程技术,通常用来提高网络的响应速度。在ASP.NET中使用Cache类来管理缓存。下面详述控件级数据缓存功能和页面级数据缓存功能的实现: (1)数据库缓存依赖数据库缓存依赖由SqlCacheDependency类管理;数据库缓存依赖的优点:1、提高数据呈现速度,每次获取数据后,系统根据用户设置的缓存时间,在有效期内,将

VinoYang的专栏 3127

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ASP.NET 缓存

缓存体系 缓存 页面缓存 应用程序数据缓存 页面输出缓存 页面部分缓存 .

qq_48307365的博客 668

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ASP.NET缓存

对象添加进Cache对象后,并不保证它一直在那里。Cache对象支持清除功能;当系统资源紧张时它自动地从缓存中删除低优先级的或很少使用的对象。 页面输出缓存 利用页面输

NETZHOU的专栏 1111

ASP.NET数据缓存四大方案

来自:http://www.codesky.net/article/200907/129558.html 今天我们将要学习的是:ASP.NET数据缓存。 接触过asp.net 1.x版本的朋友可能会说,这不是个新东西了。 是的,ASP.NET数据缓存确实不是asp.net 2.0的新产物,但是asp.net 2.0赋予数据缓存更多属性和方法,让数据缓存可以在asp.net 2.0时代大展雄风

码农 1187

ASP.NET中Cache缓存详解

一.缓存概述 (一)ASP.NET缓存技术种类 在ASP.NET实际项目开发中,我们可以采取基本的三种缓存技术:页面缓存、数据源缓存和数据缓存 1.页面缓存 给页面添加 <%@OutputCache Duration="15" VaryByParam="none"%> 标签就可以启用页面缓存, 页面中的ASP.NET代码,数据源在缓存期间都不会运行,而是直接输出缓存的页面内容,...

qq_43552118的博客 1730

ASP.NET 页面缓存以及数据缓存等总结(收集)

页面缓存 使用OutputCache指令。 <%@OutputCacheDuration="3600" Location="Any" VaryByCustom="browser" VaryByParam="RequestID"%> 其中Duration和VaryByParam特性...

weixin_30556161的博客 180

ASP.net中常用的缓存方式

1)页面缓存(对整个页面进行缓存).net2.0中为:你就可以有效的利用第一次请求里生成的页面输出缓存内容,3600秒后重新生成一道页面内容。这种技术其实也是运用一些低层的Cache API来实现。用页面输出缓存有几个参数可以配置,如上面所说的VaryByParams参数,该参数表示什么时候触发重输出的条件,也可以指定在 Http Get或Http Post 请求模式下缓存输出。例如当我们设置该参

Jane 975

ASP.NET-缓存技术

1. ASP.NET 缓存简介        缓存可以生成高性能的Web应用程序。将那些频繁访问而且不需要更新的数据存在内存中,当用户再一次访问这些数据时,可以避免重复取满足之前请求的信息,快速显示请求的Web页面。        ASP.NET 3种缓存技术:页面输出缓存、页面部分缓存和页面数据缓存。 2. 页面输出缓存 (1)页面输出缓存概述        页面缓存机制是最为简单的缓

qq_34874791的博客 512

ASP.NET缓存剖析

如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。在CPU以及主板的芯片中,都引入了这种名为高速缓冲存储器(Cache)的技术。因为Cache的存取速度比内存快,因而引入Cache能够有效的解决CPU与内存之间的速度不匹配问题。硬件系统可以利用Cache存储CPU访问概率高的那些数据,当CPU需要访问这些数据时,可以直接从Cache中读取,而不必访问存取速度相对

程序如人生,人生如程序... 527

Asp.net的局部缓存

如果页面的部分内容动态改变,而部分内容则是保持不变,我们则可以考虑用asp.net的局部缓存技术       有两种方案可以解决,一种是控件缓存,即把不变的内容做成用户控件,然后让此控件缓存,而整个页面不会缓存。另一种是缓存后替换,即整个页面缓存,而用Substitution控件来处理动态内容。一:控件缓存在控件的ascx页面山写本控件缓存120秒或者在服务端[PartialC

网络乞丐 1711
上一篇: FormsAuthenticationTicket基于forms的验证
下一篇: 缓存依赖
beichen_
博客等级 码龄19年 17粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值