向 Cache 中插入具有依赖项和到期策略的对象_引用至MSDN
目的:Flash读取来之XML文件的配置信息,XML配置信息不常改变。现在需要更新XML文件的各节点内容,在页面第一次加载时执行更新XML方法,并写入缓存;
10分钟内再返回该页面则不执行更新语句,直接读缓存。
以下为MSDN提供的缓存参考示例。
语法:
C#
public void Insert( string key, Object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration )
参数:
key
类型:System.String
用于引用该对象的缓存键。
value
类型:System.Object
要插入缓存中的对象。
dependencies
类型:System.Web.Caching.CacheDependency
所插入对象的文件依赖项或缓存键依赖项。当任何依赖项更改时,该对象即无效,并从缓存中移除。如果没有依赖项,则此参数包含 null。
absoluteExpiration
类型:System.DateTime
所插入对象将到期并被从缓存中移除的时间。要避免可能的本地时间问题(例如从标准时间改为夏时制),请使用 UtcNow 而不是 Now 作为此参数值。如果使用绝对到期,则 slidingExpiration 参数必须为 NoSlidingExpiration。
slidingExpiration
类型:System.TimeSpan
最后一次访问所插入对象时与该对象到期时之间的时间间隔。如果该值等效于 20 分钟,则对象在最后一次被访问 20 分钟之后将到期并被从缓存中移除。如果使用可调到期,则 absoluteExpiration 参数必须为 NoAbsoluteExpiration。
调用:
Cache.Insert("DSN", connectionString, null, DateTime.Now.AddMinutes(2), TimeSpan.Zero);
注意:
由于 Insert 方法的该形式支持缓存依赖项,因此当该项没有依赖项时,必须在逗号分隔的参数列表中将 dependency 参数声明为 null(Visual Basic 中为 Nothing)。
以上均引用至MSDN link
/// <summary> /// 设置当前应用程序指定CacheKey的Cache对象值 /// </summary> /// <param name="CacheKey">索引键值</param> /// <param name="objObject">缓存对象</param> /// <param name="absoluteExpiration">绝对过期时间</param> /// <param name="slidingExpiration">最后一次访问所插入对象时与该对象过期时之间的时间间隔</param> public static void SetCache(string CacheKey, object objObject, CacheDependency dependency, DateTime absoluteExpiration, TimeSpan slidingExpiration) { _cache.Insert(CacheKey, objObject, dependency, absoluteExpiration, slidingExpiration); }
调用:
AppCache.SetCache("Cace", ojc, dep,DateTime.Now.AddMinutes(10),TimeSpan.Zero);//写入缓存