ASP.NET Core 内存缓存使用方法

ASP.NET Core 缓存使用详细步骤

前言

使用缓存可以减少生成内容所需的时间,显著提高应用的性能和可伸缩性。 缓存最适用于不常更改且生成成本很高的数据。 缓存生成的数据副本可以比从源中更快地返回。ASP.NET Core 支持多个不同的缓存。 最简单的缓存基于 IMemoryCacheIMemoryCache 表示存储在 Web 服务器内存中的缓存。

IMemoryCache 更适用于 ASP.NET Core 依赖关系注入。缓存可以存储任何对象,缓存项均存储为键值对

使用缓存时因注意以下要点:
1.使用过期限制缓存增长;
2.使用 SetSize、Size 和 SizeLimit 限制缓存大小。 ASP.NET Core 运行时不会根据内存压力自动限制缓存大小,应由开发人员自行限制缓存大小。
以下就是使用IMemoryCache的示例代码。

示例

程序集:Microsoft.Extensions.Caching.Memory

private IMemoryCache _cache;
public LoginController(IMemoryCache memoryCache)
{
     _cache = memoryCache;
}

public async Task<IActionResult> Index()
{
      //添加缓存
      var cache1 = await _cache.GetOrCreateAsync("key", it => 
      {
            it.SlidingExpiration = TimeSpan.FromSeconds(50); //滑动过期时间
            return Task.FromResult("测试"); //存储值
      });

      //添加缓存
      var cache2 = await _cache.GetOrCreateAsync("key2", it => 
      {
            it.AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(10); //绝对过期时间
            return Task.FromResult("测试"); //存储值
      });

      //获取缓存值
      var c = _cache.Get<string>("key");
      var c1 = _cache.Get<string>("key2");

      return View();
}

附录

对于大多数应用,已默认启用 IMemoryCache
例如,调用 AddMvc、AddControllersWithViews、AddRazorPages、AddMvcCore().AddRazorViewEngine 和 ConfigureServices 中的许多其他 Add{Service} 方法已经默认启用 IMemoryCache。 对于不调用上述 Add{Service} 方法之一的应用,可能需要手动调用 ConfigureServices 中的 AddMemoryCache。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隔壁程序员有话说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值