Forráskód Böngészése

!383 1,添加支持缓存过期时间接口
Merge pull request !383 from 适可而止/next

zuohuaijun 3 éve
szülő
commit
d562aed4c8

+ 4 - 0
Admin.NET/Admin.NET.Core/Service/Cache/ISysCacheService.cs

@@ -20,8 +20,12 @@ public interface ISysCacheService
 
     Task SetAsync(string cacheKey, object value);
 
+    Task SetAsync(string cacheKey, object value, TimeSpan expire);
+
     Task SetStringAsync(string cacheKey, string value);
 
+    Task SetStringAsync(string cacheKey, string value, TimeSpan expire);
+
     Task<List<long>> GetOrgIdList(long userId);
 
     Task SetOrgIdList(long userId, List<long> orgIdList);

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

@@ -38,6 +38,21 @@ public class SysCacheService : ISysCacheService, IDynamicApiController, ISinglet
         await AddCacheKey(cacheKey);
     }
 
+    /// <summary>
+    /// 增加对象缓存,并设置过期时间
+    /// </summary>
+    /// <param name="cacheKey"></param>
+    /// <param name="value"></param>
+    /// <param name="expire"></param>
+    /// <returns></returns>
+    [HttpPost("/sysCache/addObject/expire")]
+    public async Task SetAsync(string cacheKey, object value, TimeSpan expire)
+    {
+        await _cache.SetAsync(cacheKey, Encoding.UTF8.GetBytes(JSON.Serialize(value)), new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = expire });
+
+        await AddCacheKey(cacheKey);
+    }
+
     /// <summary>
     /// 增加字符串缓存
     /// </summary>
@@ -52,6 +67,21 @@ public class SysCacheService : ISysCacheService, IDynamicApiController, ISinglet
         await AddCacheKey(cacheKey);
     }
 
+    /// <summary>
+    /// 增加字符串缓存,并设置过期时间
+    /// </summary>
+    /// <param name="cacheKey"></param>
+    /// <param name="value"></param>
+    /// <param name="expire"></param>
+    /// <returns></returns>
+    [HttpPost("/sysCache/addString/expire")]
+    public async Task SetStringAsync(string cacheKey, string value, TimeSpan expire)
+    {
+        await _cache.SetStringAsync(cacheKey, value, new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = expire });
+
+        await AddCacheKey(cacheKey);
+    }
+
     /// <summary>
     /// 获取缓存
     /// </summary>