public Object Add( string key, //用于应用该项的缓存键 Object value, //要添加到缓存的项 CacheDependency dependencies, //该项的文件依赖项或缓存键依赖项。当任何依赖项更改时,该对象即无效,并从缓存中移除。若是没有依赖项,则此参数包含null引用。 DateTime absoluteExpiration, //所添加对象将过时并从缓存中移除的时间。若是使用可调过时,则absoluteExpiration参数必须为NoAbsoluteExpiration。 TimeSpan SlidingExpiration, //最后一次访问所添加对象时与该对象过时时之间的时间间隔,若是该值等效于20分钟,则对象在最后一次被访问20分钟以后将过时并从缓存中移除。若是使用绝对过时,则slidingExpiration参数必须为NoSlidingExpiration CacheItemPriority priority, //对象的相对成本,由CacheItemPriority枚举表示。缓存在退出对象时使用该值:具备较低成本的对象在具备较高成本的对象以前被从缓存中移除。 CacheItemRemovedCallback onRemoveCallBack //在从缓存中移除对象时所调用的委托(若是提供)。当从缓存中删除应用程序的对象时,可以使用它来通知应用程序。 )
在使用Add方法的时候,须要注意的是,若是缓存中已保存了具备相同键名的项时,则对此方法的调用将失败。若是要使用相同的key参数改写现有的Cache项,那么必须使用Insert方法。 c#
Insert方法与Add方法具备类似之处,可是Insert方法支持4种重载方式(参数说明与Add方法参数基本相同): 缓存
Insert(String,Object) Insert(String,Object,CacheDependency) Insert(String,Object,CacheDependency,Datetime,TimeSpan) Insert(String,Object,CacheDependency,Datetime,TimeSpan,CacheItemPriority,CacheItemRemovedCall Back)
Add方法使用上没有Insert方法那样灵活,在调用Add方法时必须提供7个参数,而使用Insert方法可根据需求随意取重载方式。另外,若是调用Insert或者Add方法,将以存储在缓存中的某项添加到重复缓存中时,那么它们的策略是不一样的:insert方法替换该选项,而Add方法报告失败。 spa
//代码示例:将有一分钟绝对过时时间的项添加到缓存中 Cache.Insert("user","user",null,DateTime.Now.AddMinutes(1d),System.Web.Caching.Cache.NoSliding Expiration);