博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ASP.NET 2.0 缓存技术参考

Posted on 2006-09-25 13:43  无言  阅读(128)  评论(0编辑  收藏  举报
一、全页面静态缓存:
    在页面<%@Page ...%>下加一行:
    <%@OutputCache Duration="60" VaryByParam="none"%>
    //缓存时间60秒,不根据参数缓存不同页面

    二、根据参数缓存不同页面:
    <%@OutputCache Duration="60" VaryByParam="state"%>
    //根据不同的state参数,缓存成不同的页面,适用于一个页根据参数不同有可能显示不同内容,但是,可能情况有限。

    三、硬盘缓存技术
    <%@OutputCache Duration="3600" VaryByParam="none" DiskCacheable="true"%>
    //可以缓存数据量较大的页面,但是不能频繁改动数据,否则适得其反。

    四、回调缓存
    4.1 <%@OutputCache ...%>
    4.2 <asp:Substitution ID="Subsititution1" runat="server" method="GetCurrentDate" />
    //页面正常缓存,但Subsitituion里的内容不缓存


    五、SQL Caching(SQL连接池技术)
    当数据库(表)中数据改变时,通知页面刷新,否则,直接从缓存取出。
    方法:
       5.1 进入MS-DOS方式
       5.2 运行 aspnet_regsql.exe 参数
           常用参数:
           -S 要注册的SQL服务器
           -E Windows集成认证(代替参数:-U -P,即SQL的用户名和密码)
           -d 数据库名称
           -et 允许对单独的表进行注册
           -t 表名称
           例如:
               1) aspnet_regsql.exe -S "\SQL Express" -E -d "pubs" -ed
               2) aspnet_regsql.exe -S "\SQL Express" -E -d "pubs" -et -t "Author"
       5.3 调用
           <%@OutputCache Duration="999999" SqlDependency="Pubs:Author" VaryByParam="none"%>
    注意,一般监视一至两个表,否则,连接池将会成为系统性能瓶颈。