类别:程序开发
日期:2020-02-24 浏览:2173 评论:0
CacheHelper.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Caching; namespace ZZAYwebservice.wechat { public class CacheHelper { /// <summary> /// 读取缓存数据 /// </summary> /// <param name="cacheKey">键</param> /// <returns></returns> public static object GetCache(string cacheKey) { var objCache = HttpRuntime.Cache.Get(cacheKey); return objCache; } /// <summary> /// 设置缓存数据 /// </summary> /// <param name="cacheKey">键</param> /// <param name="content">值</param> public static void SetCache(string cacheKey, object content) { var objCache = HttpRuntime.Cache; objCache.Insert(cacheKey, content); } /// <summary> /// 设置缓存数据并且设置默认过期时间 /// </summary> /// <param name="cacheKey"></param> /// <param name="content"></param> /// <param name="timeOut"></param> public static void SetCache(string cacheKey, object content, int timeOut = 3600) { try { if (content == null) { return; } var objCache = HttpRuntime.Cache; //设置绝对过期时间 //绝对时间过期。DateTime.Now.AddSeconds(10)表示缓存在3600秒后过期,TimeSpan.Zero表示不使用平滑过期策略。 objCache.Insert(cacheKey, content, null, DateTime.Now.AddSeconds(timeOut), TimeSpan.Zero, CacheItemPriority.High, null); //相对过期 //DateTime.MaxValue表示不使用绝对时间过期策略,TimeSpan.FromSeconds(10)表示缓存连续10秒没有访问就过期。 //objCache.Insert(cacheKey, objObject, null, DateTime.MaxValue, timeout, CacheItemPriority.NotRemovable, null); } catch (Exception) { throw; } } /// <summary> /// 移除指定缓存 /// </summary> /// <param name="cacheKey">键</param> public static void RemoveAllCache(string cacheKey) { var objCache = HttpRuntime.Cache; objCache.Remove(cacheKey); } /// <summary> /// 删除全部缓存 /// </summary> public static void RemoveAllCache() { var objCache = HttpRuntime.Cache; var cacheEnum = objCache.GetEnumerator(); while (cacheEnum.MoveNext()) { objCache.Remove(cacheEnum.Key.ToString()); } } } }
调用方法:
/// <summary> /// 初始化,序列化 /// </summary> public void Initialize() { object msg = CacheHelper.GetCache("NApptoken"); if (msg == null) { var tokenResult = iSVOpenInterfaceProxy.GetAppToken(new com.tencent.healthcard.HealthOpenAuth.CommonIn { requestId = System.Guid.NewGuid().ToString(), hospitalId = LxAppConfig.GetHospitalId() }, new GetAppTokenReq { appId = LxAppConfig.GetAppid() }); var commonOut = (com.tencent.healthcard.HealthOpenAuth.CommonOut) (tokenResult["commonOut"]); var rsp = (GetAppTokenRsp)tokenResult["rsp"]; appToken = rsp.appToken; CacheHelper.SetCache("NApptoken", rsp.appToken, 7200); } else { appToken = msg.ToString(); } }
本文标题:C# 缓存基本操作 CacheHelper.cs
本文链接:https://vtzw.com/post/15.html
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。
发表评论 / 取消回复