zoukankan      html  css  js  c++  java
  • ASP.NET揭秘读书笔记之十——使用DataSource缓存

         引言

         除了在页面或用户控件级别进行缓存外,也可以在数据源控件层面进行缓存。所有三个标准的数据源控件——SqlDataSource、ObjectDataSource和XmlDataSource控件都包含了用于缓存DataSource承载的数据属性。

        使用绝对缓存过期策略

    Code


          使用Sliding缓存过期策略
          如果需要缓存大量数据,则使用sliding过期策略比绝对缓存过期要更合理。当使用sliding缓存过期策划时,除非数据在指定时间内再次被请求,否则缓存就会失效。

    Code

          使用ObjectDataSource控件缓存
         ObjectDataSource控件支持和SqlDataSource控件一样的缓存属性。可以通过设置ObjectDataSource的EnableCaching、CacheDuration和CacheExpirationPolicy(可选)属性来缓存数据。

    Code


        上面代码中ObjectDataSource控件包含一个Selecting事件的事件处理函数。该事件处理函数在一个Label控件显示一个消息。因为Selecting事件在数据从缓存中取得的是不触发的,可以用该事件来判断数据是从缓存还是从Movie组件获得的。

    Code

          使用XmlDataSource控件缓存
          该控件默认启用缓存,并且自动和承载它的数据的XML文件创建一个文件依赖。XML文件修改,则该控件自动重新载入修改过的XML文件。


     

    Code


          创建数据源控件键值依赖
          可以在数据源控件和应用程序的一个缓存项目之间建立一个键值依赖。这样修改数据后删除了该缓存项目,对应的数据源控件会自动载入修改后的数据。

    Code

        注意上面的代码清单中的SqlDataSource控件包含了一个CacheKeyDependency属性,值为Moviekey。该属性在数据源控件缓存的数据和名为Moviekey的缓存项目之间建立了一个依赖。

        下面所示的Global.asax创建了初始化的Moviekey缓存项目。

    Code

        下面代码中,当插入一条新记录时,Moviekey项目会重新传入缓存中,此时,每一个依赖于这个键值的DataSource会自动载入更改后的数据。

    Code



     

    作者:边写边唱

    文章出处:http://www.cnblogs.com/zoupeiyang

    专注于用自助终端技术实现互联网+,有兴趣朋友欢迎关注   捷思科技

  • 相关阅读:
    java对象的四种引用:强引用、软引用、弱引用和虚引用
    css引入的两种方法link和@import的区别和用法
    java注解和自定义注解的简单使用
    java代理:静态代理和动态代理
    java设计模式:面向对象设计的7个原则
    java设计模式:概述与GoF的23种设计模式
    java依赖的斗争:依赖倒置、控制反转和依赖注入
    Official Program for CVPR 2015
    Official Program for CVPR 2015
    2013计算机视觉代码合集一
  • 原文地址:https://www.cnblogs.com/zoupeiyang/p/1455768.html
Copyright © 2011-2022 走看看