浏览代码

feat: 缓存服务增加获取或添加缓存方法

许俊杰 2 年之前
父节点
当前提交
effa1f68d1
共有 1 个文件被更改,包括 14 次插入0 次删除
  1. 14 0
      Admin.NET/Admin.NET.Core/Service/Cache/SysCacheService.cs

+ 14 - 0
Admin.NET/Admin.NET.Core/Service/Cache/SysCacheService.cs

@@ -127,4 +127,18 @@ public class SysCacheService : IDynamicApiController, ISingleton
     {
         return _cache.Get<dynamic>(key);
     }
+
+    /// <summary>
+    /// 获取或添加缓存,在数据不存在时执行委托请求数据
+    /// </summary>
+    /// <typeparam name="T"></typeparam>
+    /// <param name="key"></param>
+    /// <param name="callback"></param>
+    /// <param name="expire">过期时间,秒。小于0时采用默认缓存时间<seealso cref="Cache.Expire"/></param>
+    /// <returns></returns>
+    [NonAction]
+    public T GetOrAdd<T>(string key, Func<string, T> callback, int expire = -1)
+    {
+        return _cache.GetOrAdd(key, callback, expire);
+    }
 }