Files
YunTongJackYunTask/Reportapi/MyCode.Project.Infrastructure/Common/CacheHelper.cs
2025-07-04 09:50:02 +08:00

42 lines
1.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using MyCode.Project.Infrastructure.Cache;
using MyCode.Project.Infrastructure.Exceptions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyCode.Project.Infrastructure.Common
{
public static class CacheHelper
{
#region GetCacheValue()
/// <summary>
/// 得到缓存中的值,用法: CacheHelper.GetCacheValue<long>("id",() => IdHelper.GetNewId());
/// </summary>
/// <typeparam name="T">要返回的对象实体</typeparam>
/// <param name="cacheKey">缓存key</param>
/// <param name="func">执行的函数</param>
/// <param name="cacheSecond">多少秒默认60</param>
/// <returns></returns>
public static T GetCacheValue<T>(string cacheKey,
Func<T> func,
int cacheSecond = 60)
{
if (string.IsNullOrWhiteSpace(cacheKey)) { throw new BaseException("缓存key参数cacheKey不能为空"); }
var cache = new SystemCache();
//该Token已经存在缓存了
if (cache.Exists(cacheKey)) { return cache.Get<T>(cacheKey); }
var returnValue = func.Invoke();
if (returnValue != null) { cache.Set(cacheKey, returnValue, new TimeSpan(0, 0, cacheSecond)); }
return returnValue;
}
#endregion
}
}