asp.net 缓存总结
来源:互联网 发布:怎样提高淘宝店信誉度 编辑:程序博客网 时间:2024/06/07 07:44
本篇对asp.net缓存的总结,主要是参考了msdn的文章以及博客园中李天平的博客,用于以后查询。msdn里有详细的说明。如有不对之处,望指正。
asp.net中的缓存分为两类:页输出缓存和应用程序缓存。
页输出缓存:
顾名思义,页输出缓存就是页面的缓存。
使用页输出缓存的方式有两种:
1. 声明方式:
形式如:
<%@ OutputCache Duration="60" VaryByParam="None"%>
其中参数有
Duration="#ofseconds"过期时间
Location="Any | Client | Downstream | Server | None | ServerAndClient"缓存存放的位置
Shared="True | False"是否可以共享
VaryByControl="controlname"缓存关联的控件
VaryByCustom="browser | customstring"缓存关联的参数(浏览器|自定义)
VaryByHeader="headers"http头
VaryByParam="parametername"缓存关联的url中参数(其实也可以关联控件)
CacheProfile="cache profile name | ''"配置文件中的缓存的设置
NoStore="true | false"
SqlDependency="database/table name pair |CommandNotification"关联数据库
大部分的页输出缓存的功能都是在这些参数中实现的。
2.编程方式:
Response.Cache.SetCacheability(HttpCacheability.Public);
具体的参数都在Cache类中。如需使用,可以自行查看。
几个缓存的说明:
1.VaryByParam。
以url中的参数做为依赖。如果不希望根据任何参数来改变缓存内容,请将值设置为 none。如果希望通过所有的参数值改变都更新缓存,请将属性设置为星号 (*)。如果希望通过特定参数值改变缓存,则将属性设置为特定值。
2.文件依赖项。
string fileDependencyPath = Server.MapPath("test.txt");Response.AddFileDependency(fileDependencyPath);
缓存依赖文件的改变。缓存的属性由前面所说的两种方法设定。
3.缓存键依赖项。
Response.AddCacheItemDependency("ProcessIntensiveReport");
4.sql server。
sqlserver与页输出缓存结合使用。当sqlserver中指定的表发生改变时,缓存清除。
1.使用之前,先要开启sqlserver缓存功能。具体步骤,百度。
2.配置文件
<caching> <sqlCacheDependency enabled = "true" pollTime = "1000" > <databases> <add name="Northwind" connectionStringName="NorthwindConnectionString1" pollTime = "1000" /> </databases> </sqlCacheDependency></caching>
这里的connectionStringName是在配置文件中数据库的配置名。
3.缓存设置
<%@ OutputCache Duration="3600" SqlDependency="Northwind:Employees" VaryByParam="none" %>
Northwind是数据库名。Employees是表名。
这样,当Employees不变时,就调用页缓存。Employees改变时,则清除缓存。
页输出缓存中除了整页的缓存之外,还有部分缓存。方式有两种:
1.控件缓存。把需要缓存的控件做成自定义控件,然后进行缓存。
2.缓存后替换。与控件缓存刚好相反,页面的其他部分缓存,替换部分页面请求都更新。主要是通过Substitution 控件实现,仅能用于字符串等的不缓存。有一定的局限性。
应用程序缓存:
顾名思义,应用程序缓存是应用程序的一部分,生命周期和应用程序一样(符合缓存清除条件,也会清除缓存)。
它是一种键值对的形式展示,添加方式有两种:
1.
Cache["CacheItem1"] = "Cached Item 1";
2.cache类下的intser或者add方法。
具体查看msdn。
删除的方法也很简单:cache类下的remove()。
特别之处一点,intsert和add方法中有一个回调函数,当缓存清除时就调用此函数。
此外,应用程序缓存也可以和sqlserver结合使用,使应用程序缓存依赖于sqlserver。也是通过insert或者add方法实现的。
- ASP.NET缓存总结
- ASP.NET缓存总结
- ASP.Net缓存总结
- asp.net 缓存总结
- ASP.NET缓存总结
- Asp.net 缓存技术总结
- Asp.net 缓存技术总结
- Asp.Net 缓存技术总结
- asp.net缓存机制总结
- Asp.net 缓存技术总结
- Asp.net 缓存技术总结
- asp.net缓存技术与机制总结
- ASP.Net缓存总结及分析
- ASP.NET缓存总结(.NET1.1)(转)
- ASP.NET MVC 3 网站优化总结(四)使用缓存
- ASP.NET HttpRuntime.Cache缓存类使用总结
- asp.net的缓存
- Asp.Net页面缓存
- 理解会话
- Web开发人员速查卡
- js的数组
- SIP结构
- SIP代理服务器(1)
- asp.net 缓存总结
- XML学习日记
- 关于undo机制的总结[收集中]
- 删除文件
- coredump的生成以及gdb查看
- 学习过程中偶遇的一些大牛的技术博客(日积月累工程)
- IOS开发:关于performSelectorXXX的延迟的使用
- SIP代理服务器(2)
- 正则表达式