一、SQL Cache 通过配置数据库连接池,只有当数据库数据被改变的时候,缓存才会改变: 注册连接池 命令:c:\dir aspnet_regsql.exe 专门注册连接池的工具 在sql数据库的数据库改变了,才改变缓存。 参数: _s 制定注册的服务器、 _e 说明是windows授权模式、 _u和 _p 说明是sql数据库的授权模式、 _d 指定数据库的名字、_ed 说明缓存生效。 事例1、 aspnet_regsql.exe _s "\sqlexpress" _e _d "pubs" _ed 注册到pubs库 事例2. aspnet_regsql.exe _s "\sqlexpress" _e _d "pubs" _et _1 "authors" 注册到pubs库的表 <%@ outputcache duuation="999999" sqldependency="pubs;authors" varybyparam="none"%>在页面中加入 注意:注册的库不要太多,主要的经常用的注册 最好在两个库以内,也不需要每个库中的的表都注册 二、Output Caching 1、 <%@ OutputCache Duration="60" VaryByParam="none" %> 页面的前面加这句就可以 2、 Duration 缓存的间隔时间 VaryByParam request是否有返回参数改变 3、 根据参数缓存 <%@ OutputCache Duration="60" VaryByParam="state" %> <SelectParameters> <asp:QueryStringParameter Name="state" QueryStringField="state" DefaultValue="CA" /> </SelectParameters> 这个是在dataview 中设置的 4、缓存到硬盘 <%@ OutputCache Duration="3600" VaryByParam="name" DiskCacheable="true" %> DiskCacheable 是设置缓存到硬盘 5、回调缓存 一个页面一部分需要缓存而其他的不需要缓存,实现动态缓存
>
6、用户控件 的参数缓存
>
三、Fragment Caching API缓存,比较复杂,一般不采用这中方法 API回调缓存
%>
四、Data Caching dataset
这种数据缓存的效率比较高,可以缓存很大的数据量,可以同时缓存到内存和硬盘
五、Web.Config 配置
<caching> <outputCache> <diskCache enabled="true" maxSizePerApp="2" /> 设置在硬盘中缓存 单位是兆 </outputCache> <outputCacheSettings> <outputCacheProfiles> <add name="CacheFor60Seconds" duration="60" /> </outputCacheProfiles> </outputCacheSettings> <!-- <sqlCacheDependency enabled="true" pollTime="1000" > <databases> <add name="PubsDB" connectionStringName="pubsConnectionString" /> </databases> </sqlCacheDependency> --> </caching>
|
请发表评论