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

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

  • 相关阅读:
    使goroutine同步的方法总结
    PHP类自动加载技术
    swoole架构分析
    网站用户行为分析——HBase的安装与配置
    Java基础——异常处理
    大数据技术原理与应用——分布式文件系统HDFS
    大数据技术原理与应用——大数据处理架构Hadoop
    廖老师的Python教程——安装Python
    廖老师的Python教程——Python简介
    大数据技术原理与应用——大数据概述
  • 原文地址:https://www.cnblogs.com/zoupeiyang/p/1455768.html
Copyright © 2011-2022 走看看