c# 缓存

c# 的缓存 接触的应该有

Cache

SqlDependency

SqlCacheDependency

CacheDependency

AggregateCacheDependency

缓存 分为 客户端缓存 和服务器缓存

服务器缓存所需的数据已经有了.  不用再次查找(当然查找缓存也需要查找) (缓存在服务器中,可以缓存在内存中,也可以缓存在文件里,并且还可以进一步地区分为本地缓存和分布式缓存两种)

客户端缓存也就是数据在本地机器上存在了. 不需要从服务器获取数据

用过一些非人的手段,达到变态的要求. 提高响应速度.让数据 刚好的呈现.

1

System.Web.Caching命名空间内的类组成

缓存命名空间主要提供四个种操作:缓存数据对象、对象的缓存依赖和数据库的缓存依赖。其中缓存任何对象都使用一个类Cache,但当缓存发生改变时,普通对象和数据库对象的依赖处理不同。

 

 
Cache对缓存对象的编辑类,其操作包括缓存的增、删、改 
CacheDependency基本缓存对象的依赖,当基本对象发生变化时,更新缓存内容

    //假设缓存的来源文件是当前目录下的data.xml文件

    //缓存依赖的文件路径

    CacheDependency mydep = new CacheDependency("data.xml");

SqlCacheDependency数据库缓存对象的依赖,当数据库中的数据变化时,更新缓存内容
(在以下两者之间建立关系:一是在 ASP.NET 应用程序的 Cache 对象中存储的项;二是特定 SQL Server 数据库表或 SQL Server 2005 查询的结果。)
页面是配置Web.config 配置, 和页面上配置缓存
AggregateCacheDependency监视依赖项对象的集合,以便在任何依赖项对象更改时,该缓存项都会自动移除(组合 ASP.NET 应用程序的 Cache 对象中存储的项和 CacheDependency 对象的数组之间的多个依赖项。)

AggregateCacheDependency dependency = new AggregateCacheDependency();
            dependency.Add(new SqlCacheDependency("NHibernateSample", "Customer"
));
            dependency.Add(new CacheDependency(Server.MapPath("~/App_Data/XmlData.xml"
)));

  Cache.Insert("data", “sdfsdf”, dependency );
   

SqlDependency 类似于SqlCacheDependency  .也就是数据库发生变动 ,通知程序.

页面配置

<%@ OutputCache Duration="" VaryByParam="" VaryByControl="" VaryByHeader="" VaryByCustom="" CacheProfile="" Location="" %>

Duration:设置缓存到期时间,单位:秒。
VaryByParam:可用来使缓存输出因查询字符串而异,多个查询字符用分号隔开。
VaryByControl:可用来使缓存输出因控制值而异。
VaryByHeader:可用来使缓存输出因请求的 HTTP 标头而异。
VaryByCustom:可用来使缓存输出因浏览器类型或您定义的自定义字符串而异。
CacheProfile:结合配置文件使用。
Location:设置页的可缓存性,值有Any,Client,Downstream,None,Server,ServerAndClient。

转载于:https://www.cnblogs.com/jiaofu2012/p/3499771.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值