工具:visualStudio2022
1、
[ApiController]
[Route("/huaDongTime")]
public class TestHuaDongTimeController : Controller
{
// 引入内存缓存
private readonly IMemoryCache _memoryCache;
public TestHuaDongTimeController(IMemoryCache memoryCache)
{
this._memoryCache = memoryCache;
}
[HttpGet]
public async Task<DateTime> Index()
{
DateTime dt = await _memoryCache.GetOrCreateAsync("Hello", async (e) =>
{
//SlidingExpiration 属性设置了滑动过期时间为 10 秒,表示在访问缓存项后的 10 秒内如果再次访问,缓存项仍然有效。
e.SlidingExpiration = TimeSpan.FromSeconds(10);
return DateTime.Now;
});
return dt;
}
}
2、在program.cs中注入IMemoryCache
// 注入内存缓存
builder.Services.AddMemoryCache();
运行项目,在前端刷新访问试试,10秒内获取的时间不是实时的,而是之前的。如果超过10秒则会重新刷新缓存。
文章讲述了如何在VisualStudio2022的API控制器中使用IMemoryCache进行缓存,并设置SlidingExpiration属性以保证10秒内的缓存有效性。然而,10秒后如果没有更新,缓存将不再提供实时数据。

2404

被折叠的 条评论
为什么被折叠?



