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(); 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。