明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

ASP.NET缓存数据添加需求概述

ASP.NET使用缓存机制,将需要大量服务器资源来创建的对象存储在内存中。缓存这些类型的资源会大大改进应用程序的性能。缓存是有Cache类实现的,可以通过对缓存设置优先级CacheItemPriority枚举值控制内存不够时的“清理”优先顺序。还可以为缓存设置过期策略,以及为缓存设置依赖项。

ASP.NET缓存数据添加(将数据项添加到缓存中)

1、通过键值对添加

  1. Cache["CacheItem"] = "Cached Item"

2、通过Insert 方法添加

Insert 方法向缓存添加项,并且已经存在与现有项同名的项,则缓存中的现有项将被替换。

  1. Cache.Insert("CacheItem""Cached Item"); 

3、指定依赖项并添加(对添加到缓冲中的数据项指定依赖项)

数据项依赖一个字符串数组对象的情况:

  1. string[] dependencies = { "Dependences" };  
  2. Cache.Insert("CacheItem",  
  3.     "Cached Item",  
  4.     new System.Web.Caching.CacheDependency(null, dependencies)); 

数据项依赖一个XML文件的情况:

  1. Cache.Insert("CacheItem""Cached Item",  
  2.     new System.Web.Caching.CacheDependency(  
  3.     Server.MapPath("XMLFile.xml"))); 

数据项依赖多个依赖项的情况:

  1. System.Web.Caching.CacheDependency dep1 =   
  2.     new System.Web.Caching.CacheDependency(Server.MapPath("XMLFile.xml"));  
  3. string[] keyDependencies2 = { "CacheItem1" };  
  4. System.Web.Caching.CacheDependency dep2 =   
  5.     new System.Web.Caching.CacheDependency(null, keyDependencies2);  
  6. System.Web.Caching.AggregateCacheDependency aggDep =   
  7.     new System.Web.Caching.AggregateCacheDependency();  
  8. aggDep.Add(dep1);  
  9. aggDep.Add(dep2);  
  10. Cache.Insert("CacheItem""Cached Item", aggDep); 

4、设置过期策略并添加

添加一分钟绝对过期时间到缓存中:

  1. Cache.Insert("CacheItem""Cached Item",  
  2.     null, DateTime.Now.AddMinutes(1d),   
  3.     System.Web.Caching.Cache.NoSlidingExpiration); 

添加10 分钟弹性过期时间到缓存中:

  1. Cache.Insert("CacheItem""Cached Item",  
  2.     null, System.Web.Caching.Cache.NoAbsoluteExpiration,  
  3.     new TimeSpan(0, 10, 0)); 

5、设置优先级并添加

调用 Insert 方法,从 CacheItemPriority 枚举中指定一个值。 

  1. Cache.Insert("CacheItem""Cached Item",  
  2.     null, System.Web.Caching.Cache.NoAbsoluteExpiration,  
  3.     System.Web.Caching.Cache.NoSlidingExpiration,  
  4.     System.Web.Caching.CacheItemPriority.High, null); 

6、通过Add方法添加

Add 方法将返回您添加到缓存中的对象。另外,如果使用 Add 方法,并且缓存中已经存在与现有项同名的项,则该方法不会替换该项,并且不会引发异常。

  1. string CachedItem = (string)Cache.Add("CacheItem",  
  2.     "Cached Item"null,  
  3.     System.Web.Caching.Cache.NoAbsoluteExpiration,  
  4.     System.Web.Caching.Cache.NoSlidingExpiration,   
  5.     System.Web.Caching.CacheItemPriority.Default,  
  6.     null);