标签:object param out 缓存 add date 对象 job col
1、HttpRuntime.Cache
2、.绝对过期时间和相对过期时间
/// <summary> /// 设置数据缓存,相对过期 /// --键值存在时会替换原数据 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="cacheKey">键值</param> /// <param name="objObject"></param> /// <param name="timeout">相对过期时间,最后一次访问所插入对象时与该对象到期时之间的时间间隔(单位:秒)</param> public static void SetRelativeCache<T>(string cacheKey, T objObject, int timeout = 30)//默认30秒过期,30秒不访问就会过期 { try { if (objObject == null) return; var objCache = HttpRuntime.Cache; //相对过期时间,最后一次访问的时间超过了时间间隔后才会到期 objCache.Insert(TypeName<T>() + cacheKey, objObject, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(timeout), CacheItemPriority.High, null); } catch (Exception ex) { throw ex; } }
/// <summary> /// 设置数据缓存,绝对过期时间 /// --键值存在时会替换原数据 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="cacheKey"></param> /// <param name="objObject"></param> /// <param name="timeout">绝对过期时间(单位:秒,默认300秒以后就会过期)</param> public static void SetAbsoluteCache<T>(string cacheKey, T objObject, int timeout = 300)//默认300秒 { try { if (objObject == null) return; var objCache = HttpRuntime.Cache; //绝对过期时间, TimeSpan.Zero objCache.Insert(TypeName<T>() + cacheKey, objObject, null, DateTime.Now.AddSeconds(timeout), Cache.NoSlidingExpiration, CacheItemPriority.High, null); } catch (Exception ex) { throw ex; } }
注意事项:
absoluteExpiration
类型:System.DateTime
所添加对象将过期并被从缓存中移除的时间。如果使用相对过期,则 absoluteExpiration 参数必须为 NoAbsoluteExpiration。
slidingExpiration
类型:System.TimeSpan
最后一次访问所添加对象时与该对象过期时之间的时间间隔。如果该值等效于 20 分钟,则对象在最后一次被访问 20 分钟之后将过期并从缓存中移除。如果使用绝对过期,则 slidingExpiration 参数必须为 NoSlidingExpiration。
标签:object param out 缓存 add date 对象 job col
原文地址:https://www.cnblogs.com/luofuxian/p/9447008.html