c#緩存

  /// <summary>
         /// 創建緩存
         /// </summary>
         public  static  object  TryAddCache( string  key,  object  value, CacheItemPriority priority)
         {
             if  (HttpRuntime.Cache[key] ==  null  && value !=  null )
                 return  HttpRuntime.Cache.Add(key, value,  null , Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, priority,  null );
             else
                 return  null ;
         }
 
         /// <summary>
         /// 創建定時不訪問便移除的緩存
         /// </summary>
         public  static  object  TryAddCache( string  key,  object  value, TimeSpan slidingExpiration, CacheItemPriority priority)
         {
             if  (HttpRuntime.Cache[key] ==  null  && value !=  null )
                 return  HttpRuntime.Cache.Add(key, value,  null , Cache.NoAbsoluteExpiration, slidingExpiration, priority,  null );
             else
                 return  null ;
         }
 
         /// <summary>
         /// 創建緩存,並在移除時執行事件
         /// </summary>
         public  static  object  TryAddCache( string  key,  object  value, DateTime absoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemovedCallback)
         {
             if  (HttpRuntime.Cache[key] ==  null  && value !=  null )
                 return  HttpRuntime.Cache.Add(key, value,  null , absoluteExpiration, slidingExpiration, priority, onRemovedCallback);
             else
                 return  null ;
         }
 
 
         /// <summary>
         /// 移除緩存
         /// </summary>
         public  static  object  TryRemoveCache( string  key)
         {
             if  (HttpRuntime.Cache[key] !=  null )
                 return  HttpRuntime.Cache.Remove(key);
             else
                 return  null ;
         }
 
         /// <summary>
         /// 移除鍵中帶某關鍵字的緩存
         /// </summary>
         public  static  void  RemoveMultiCache( string  keyInclude)
         {
             IDictionaryEnumerator CacheEnum = HttpRuntime.Cache.GetEnumerator();
             while  (CacheEnum.MoveNext())
             {
                 if  (CacheEnum.Key.ToString().IndexOf(keyInclude.ToString()) >= 0)
                     HttpRuntime.Cache.Remove(CacheEnum.Key.ToString());
             }
         }
 
         /// <summary>
         /// 移除全部緩存
         /// </summary>
         public  static  void  RemoveAllCache()
         {
             IDictionaryEnumerator CacheEnum = HttpRuntime.Cache.GetEnumerator();
             while  (CacheEnum.MoveNext())
             {
                 HttpRuntime.Cache.Remove(CacheEnum.Key.ToString());
             }
         }

 

using  System;
using  System.Collections.Generic;
using  System.Text;
using  System.Collections;
using  System.Web;
using  System.Web.Caching;
 
namespace  BLL
{
     public  class  Caches
     {
         /// <summary>
         /// 創建緩存
         /// </summary>
         public  static  object  TryAddCache( string  key,  object  value, CacheItemPriority priority)
         {
             if  (HttpRuntime.Cache[key] ==  null  && value !=  null )
                 return  HttpRuntime.Cache.Add(key, value,  null , Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, priority,  null );
             else
                 return  null ;
         }
 
         /// <summary>
         /// 創建定時不訪問便移除的緩存
         /// </summary>
         public  static  object  TryAddCache( string  key,  object  value, TimeSpan slidingExpiration, CacheItemPriority priority)
         {
             if  (HttpRuntime.Cache[key] ==  null  && value !=  null )
                 return  HttpRuntime.Cache.Add(key, value,  null , Cache.NoAbsoluteExpiration, slidingExpiration, priority,  null );
             else
                 return  null ;
         }
 
         /// <summary>
         /// 創建緩存,並在移除時執行事件
         /// </summary>
         public  static  object  TryAddCache( string  key,  object  value, DateTime absoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemovedCallback)
         {
             if  (HttpRuntime.Cache[key] ==  null  && value !=  null )
                 return  HttpRuntime.Cache.Add(key, value,  null , absoluteExpiration, slidingExpiration, priority, onRemovedCallback);
             else
                 return  null ;
         }
 
 
         /// <summary>
         /// 移除緩存
         /// </summary>
         public  static  object  TryRemoveCache( string  key)
         {
             if  (HttpRuntime.Cache[key] !=  null )
                 return  HttpRuntime.Cache.Remove(key);
             else
                 return  null ;
         }
 
         /// <summary>
         /// 移除鍵中帶某關鍵字的緩存
         /// </summary>
         public  static  void  RemoveMultiCache( string  keyInclude)
         {
             IDictionaryEnumerator CacheEnum = HttpRuntime.Cache.GetEnumerator();
             while  (CacheEnum.MoveNext())
             {
                 if  (CacheEnum.Key.ToString().IndexOf(keyInclude.ToString()) >= 0)
                     HttpRuntime.Cache.Remove(CacheEnum.Key.ToString());
             }
         }
 
         /// <summary>
         /// 移除全部緩存
         /// </summary>
         public  static  void  RemoveAllCache()
         {
             IDictionaryEnumerator CacheEnum = HttpRuntime.Cache.GetEnumerator();
             while  (CacheEnum.MoveNext())
             {
                 HttpRuntime.Cache.Remove(CacheEnum.Key.ToString());
             }
         }
     }
}
相關文章
相關標籤/搜索