当前位置:首页 > Web开发 > 正文

policy);} /// summary /// 根据缓存键获取缓存对象 /// /summary /// type

2024-03-31 Web开发

处事端缓存大众类

/// <summary> /// 大众缓存类 /// </summary> public static class CacheHelper { private static ObjectCache cache = MemoryCache.Default; /// <summary> /// 盘问缓存是否存在 /// </summary> /// <param>缓存键</param> /// <returns>是否存在</returns> public static bool ExistsCache(string key) { return cache.Contains(key); } /// <summary> /// 按照缓存键移除缓存东西 /// </summary> /// <typeparam>东西类型</typeparam> /// <param>缓存键</param> public static void RemoveCache(string key) { if (!cache.Contains(key)) return; cache.Remove(key); } /// <summary> /// 设置缓存东西 /// </summary> /// <typeparam>东西类型</typeparam> /// <param>缓存键</param> /// <param>缓存东西</param> /// <param>过期时间(单位:分钟)</param> public static void SetCache<T>(string key, T obj, double expires = 20) where T : class { CacheItemPolicy policy = new CacheItemPolicy() { AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(expires) }; cache.Set(key, obj, policy); } /// <summary> /// 按照缓存键获取缓存东西 /// </summary> /// <typeparam>东西类型</typeparam> /// <param>缓存键</param> /// <returns>缓存东西</returns> public static T GetCache<T>(string key) where T : class { if (!cache.Contains(key)) return null; var item = cache.GetCacheItem(key); if (item != null) { return item.Value as T; } return null; } /// <summary> /// 获取缓存东西,如果不存在,则从头设置 /// </summary> /// <typeparam>东西类型</typeparam> /// <param>缓存键</param> /// <param>缓存委托</param> /// <param>过期时间(单位:分钟)</param> /// <returns>缓存东西</returns> public static T GetCache<T>(string key, Func<T> func, double expires = 20) where T : class { if (!cache.Contains(key)) { CacheItemPolicy policy = new CacheItemPolicy() { AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(expires) }; T obj = null; if (func != null) { obj = func(); if (obj != null) { cache.Set(key, obj, policy); } } return obj; } else { return cache.GetCacheItem(key).Value as T; }; } }

.net 处事端缓存 Cache/CacheHelper

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32662.html