ASP.Net缓存总结及分析 分享(3)

创建数据源控件键值依赖

       操作步骤
       1、设置数据源控件的CacheKeyDependency属性(key);
       2、在Global.asax创建初始化的(key)缓存项目。代码如下:

复制代码 代码如下:


       Void Application_Start(Object Sender,EventArgs e)
        {
             HttpContext context=HttpContext.Current;
             context.Cache.Insert(
             "key",DateTime.Now,null,DateTime.MaxValue,Cache.NoSlidingExpiration,CacheItemPriority.NotRemovable,null
            );
        }
 


       3、在用于更改数据的页面上移除缓存项目(key);
       如在DetailsView控件的ItemInserted事件中重新插入缓存项目,此时每个依赖于这个键值(key)的DataSource会自动重新载入数据,代码如下:
      

复制代码 代码如下:


       protected void DetailsView_ItemInserted(object sender,DetailsViewInsertedEventArgs e)
       {
           Cache.Insert("key",Datetime.Now);
        }
 


       注:以上key值采用当前时间并非必须。

4.Cache对象

几乎可以给缓存添加任何对象,例如,可以添加自定义控件,DataSet,DataTable,ArrayList和List到缓存。注意:使用从缓存中返回的任何项目,应该总是要检查项目是否为空,如果一个项目已经被删除了,则当将来试图从缓存中读取时,就会返回null。
       详细信息查看msdnCache 成员
       添加数据缓存到Cache对象示例代码:
      

复制代码 代码如下:


        void Page_Load()
        {
             DataTable dt=(DataTable)Cache["dtkey"];
              if(dt==null)
                {
                      dt=getdtFromDB();   //此处调用方法从数据库中返回数据项DataTable
                      Cache.Insert("dtKey",dt,null,DateTime.Now.AddHours(1),Cache.NoSlidingExpiration);   //此处使用绝对过期策略添加项目
                 }
                GridView1.DataSource=dt;
                GridView1.DataBind();
        }
         private DataTable getdtFromDB()
       {
          //略......
        }


       使用依赖添加项目

Asp.net Framework包括三种缓存依赖
       1、CacheDependency——用于创建一个文件依赖或缓存键值依赖。
       2、SqlCacheDependency——用于创建一个对于Microsoft SQL Server数据库表或SQL Server 2005数据库查询的依赖。
       3、AggregateCacheDependency——用于使用多个CacheDependency对象创建依赖,例如,可以用该对象组合文件和Sql依赖。

CacheDependency类是基类,其他两个类都是从该类继承。

指定缓存项目优先级

       可以指定CacheItemPriority枚举类型任意值。

配置缓存

       详细信息查看Msdn Caching元素

5.使用SQL缓存依赖

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjgjsy.html