asp.net,缓存Cache

缓存Cache:
1>直接使用Cache["content"],缓存与Session不同,所有用户都可以共享。永不过期,由服务器自己维护,当内存不够时,会将老的缓存释放掉。
2>设置绝对过期日期。Cache.Insert("nowTime", DateTime.Now, null, DateTime.Now.AddSeconds(7), TimeSpan.Zero);
3>设置滑动过期日期: Cache.Insert("nowTime", DateTime.Now, null, DateTime.MaxValue, TimeSpan.FromSeconds(5));
---------------------------------------------------------------------------
if (Cache["nowTime"] == null)
{
    Cache.Insert("nowTime", DateTime.Now, null, DateTime.MaxValue, TimeSpan.FromSeconds(5));

}
else
{
    Response.Write("缓存中的时间:" + Cache["nowTime"]);
}
//---------------------------------------------------------------------------

页面缓存:
当一个请求过来的时候,如果已经有该页面的缓存则不再继续创建该页面的对象了。在asp.net应用程序的生命周期中第6-7个事件的时候查找获取缓存对象。
<%@ OutputCache Duration="10" VaryByParam="*" %>
过期时间10秒,当请求的参数不同的时候,缓存立刻失效。
//--------------------------------------------------------------------

数据源缓存:
---手动获取数据到集合,把集合放到Cache缓存中。每次访问页面的时候先检查Cache中是否有缓存,如果有就直接获取缓存中的数据。为Cache设置绝对过期时间.

---服务器端控件缓存,数据源控件缓存。---------------------------------------
设置控件的:EnableCaching="true"、CacheDuration="10"、CacheExpirationPolicy="Absolute"

<asp:ObjectDataSource CacheExpirationPolicy="Absolute" EnableCaching="true" CacheDuration="10" ID="ObjectDataSource1"
      runat="server" SelectMethod="GetAllComments" TypeName="Ajax.CRUD.BLL.TblCommentsBll">
</asp:ObjectDataSource>
--------------------------------------------------------------------
-------------------(*)配置IIS输出缓存对静态文件缓存
选择IIS→网站→输出缓存→添加
//================================================================================

缓存依赖。
---依赖文件,只要文件发生变化,则缓存失效。
Cache.Insert("Time", DateTime.Now.ToString(), new System.Web.Caching.CacheDependency(Request.MapPath("test.txt")));

---依赖数据库改变-----------------------
//=======================================================================================

数据库缓存依赖
1、数据库缓存依赖
-S服务器名称  -E集成身份验证  -ed启动 -d数据库名称  -et指定缓冲依赖的表名 -t表名
在vs2010的命令提示符中运行(切换到aspnet_regsql.exe所在的目录)
aspnet_regsql -S steve-pc -E -ed -d apsxDb -et -t TblComments

缓存依赖禁用该数据库
aspnet_regsql -S steve-pc -E -dd -d apsxDb

2、依赖于数据库的web.config配置
<system.web>
  <caching>
      <sqlCacheDependency enabled="true">
        <databases>
          <add name="apsxDbEntityName" connectionStringName="connStr" pollTime="500"/>
        </databases>
      </sqlCacheDependency>
    </caching>
  </system.web>

3、 System.Web.Caching.SqlCacheDependency dep = new System.Web.Caching.SqlCacheDependency("apsxDbEntityName", "Aspx_Students");
    Cache.Insert("list", list, dep, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration);

缓存使用场景第一个:访问量大,变化比较少   典型场景:京东菜单项变化比较少,访问又特别大
//=========================================================================================
时间: 2024-10-14 12:06:53

asp.net,缓存Cache的相关文章

ASP.NET缓存 Cache

缓存介绍 如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差,而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能,这样无论多少人访问都只访问一次数据库,数据库压力不变缓存是一种用空间换取时间的技术,存在于计算机中很多地方,用来将一些慢速设备中的常用数据保存在快速设备中,取数据的时候直接从快速设备中取,比如CPU二级缓存,WINDOWS文件读取缓存缓存存在失效的问题:为了保证从缓存中读取数据和慢速数据中数据一致,则需要在慢

asp.net 缓存Cache的使用总结

1).获取缓存值 object o = HttpRuntime.Cache.Get("Key"); 2).设置相对过期缓存值有两种写法 第一种: HttpRuntime.Cache.Insert("Key", "Value", null, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(30)); 第二种: HttpRuntime.Cache.Insert(&

ASP.NET缓存中Cache过期的三种策略

原文:ASP.NET缓存中Cache过期的三种策略 我们在页面上添加三个按钮并双击按钮创建事件处理方法,三个按钮使用不同的过期策略添加ASP.NET缓存. <asp:Button ID="btn_InsertNoExpirationCache" runat="server" Text="插入永不过期缓存"      OnClick="btn_InsertNoExpirationCache_Click" />   

ASP.NET 缓存技术分析

缓存功能是大型网站设计一个很重要的部分.由数据库驱动的Web应用程序,如果需要改善其性能,最好的方法是使用缓存功能.可能的情况下尽量使用缓 存,从内存中返回数据的速度始终比去数据库查的速度快,因而可以大大提供应用程序的性能.毕竟现在内存非常便宜,用空间换取时间效率应该是非常划算的.尤 其是对耗时比较长的.需要建立网络链接的数据库查询操作等. 对于web页面的缓存,WebForm与ASP.NET MVC有不同的语法.在WebForm中, <%@ OutputCache Duration="6

我用ASP.NET缓存之SQL数据缓存依赖(SqlCacheDependency)

[名词解释] 缓存(Cache)依赖,大白话解释就是缓存是否更新依赖于其它Object.那么SqlCacheDependency指的就是Cache的数据更新依赖于SQL Server数据库表的变化( 行级别更改)或者SQL 查询结果的变化. 以前也总结过缓存的使用 页面输出缓存:我用ASP.NET缓存之OutputCache 数据缓存:我用ASP.NET缓存之数据缓存 但是对缓存依赖还是很模糊,前阵子有幸在项目中实际运用了此类.现在结合自己的实际以及和网上大牛的经验,给大家分享一下. [使用背景

缓存(Cache)

什么是缓存? web应用程序可被多个用户访问.当用户少,负载低时,可提供快速的访问.当负载成倍增加时,响应就慢下来了.服务器响应慢是高负载网站最常见的问题.为了解决这个问题,我们常采用升级硬件配置,负载均衡,增加带宽等措施.但下载并不是响应慢的唯一原因.我们需要提供一种加快数据访问的机制,进而提升网站的性能.缓存提供了这种解决方案.缓存是种技术.我们可以把频繁使用的数据缓存或把网页临时缓存在本地硬盘为了以后再次访问.在大量用户访问一个站点或一个用户多次访问站点时,缓存技术能加快响应.缓存可以出现

网页的缓存Cache与控制

什么是缓存 Cache? 缓存位于客户端与服务器之间, 或者服务器与服务器之间.它决定是否保存所获资源的副本,以及如何使用副本,何时更新副本,这里所说的资源包括页面的HTML, 图片,文件等等. 使用缓存主要有2大理由: 减少响应延迟,让页面显示更快:因为缓存比源服务器离客户端更近, 如果直接从缓存而不是源服务器响应客户的请求,耗时更少,让网站看上去响应更快: 减少网络带宽消耗:当副本被重用时,减少了从源服务器获取资源的次数,从而减少带宽消耗. 缓存如何工作? 所有的缓存都遵循以下基本规则 保留

[.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能

[.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能 本节导读: 上节说了缓存是以空间来换取时间的技术,介绍了客户端缓存和两种常用服务器缓布,本节主要介绍一种.NET中特别重要的缓布技术Cache.利用Cache提升程序性能. 1. 缓存Cache的命名空间 .NET中对缓存有两个命名空间 命名空间1:System.Web.Caching 命名空间2:System.Runtime.Caching 引用范围:这两个命名空间,都可以在Web和非WEB应用程序中

缓存Cache

转载自  博客futan 这篇文章将全面介绍有关 缓存 ( 互动百科 | 维基百科 )cache以及利用PHP写缓存caching的技术. 什么是缓存Cache? 为什么人们要使用它? 缓存 Caches种类 浏览器缓存 Caches 代理缓存 Caches 缓存对网站的影响? 怎样正确地使用缓存? 网站缓存的工作原理 如何设置网站的缓存 Caches HTML Meta 标签Tags vs. HTTP 报头Headers HTTP 报头Headers (为什么HTTP头对缓存不起作用?) HT