CacheProfile 这个选项有些像连接字符串,作用只是将具体的缓存选项变成对于选项的引用,比如我们在Web.Config放入如下代码: <caching> <outputCacheSettings> <outputCacheProfiles> <add name="CacheProfile" enabled="true" duration="60" varyByParam="product:id"/> </outputCacheProfiles> </outputCacheSettings> </caching>
则在引用时只需要在页面头部设置如下: <%@ OutputCache CacheProfile="CacheProfile" %>
而不是全部写入页面
DiskCacheable
因为服务器内存是有限的,所以通过将DiskCacheable属性设置为true,则可以将缓存页面放入硬盘中,这样即使服务器崩溃重启,缓存依然存在.
缓存部分页面缓存页面的一部分实现原理和缓存整个页面毫无二致,都是在页面头部加入OutputCache指令,唯一的不同是缓存部分页面是在用户控件中进行的。这部分就不在多说了。
使用HttpCachePolicy缓存页面
前面已经说了通过OutputCache指令在页面头部设置缓存选项,另一种替代方法是使用HttpCachePolicy类,这个类的实例是Response.Cache.如果使用HttpCachePolicy设置缓存,则需要在页面移除OutputCache指令。 比如: <%@ OutputCache Duration="30" VaryByParam="state;city" %>
和下面代码是等价的: Response.Cache.SetExpires(DateTime.Now.AddSeconds(30)); Response.Cache.VaryByParams["state"] = true; Response.Cache.VaryByParams["city"] = true;
更多关于HttpCachePolicy,请查看MSDN
对象缓存对象缓存是将继承与System.Object的对象缓存在服务器的内存中,通过Page类的Cache属性可以访问到Cache集合。Cache内可以放任何类型的对象,但是要小心使用Cache,因为Cache是占用服务器内存,如果使用不当,也许会拖累性能。 使用Cache的例子: //save object into Cache Cache["table"] = GridView1; //get object from Cache GridView gv = (GridView)Cache["table"];
要注意的是,再提取缓存中的对象时,一定别忘了强制转换。 总结文中对Asp.net的缓存机制进行了简述,asp.net中的缓存极大的简化了开发人员的使用。如果使用得当,程序性能会有客观的提升。 (责任编辑:admin) |