说到内存缓存大家可能立马想到了HttpRuntime.Cache,它位于System.Web命名空间下,但是在ASP.NET Core中System.Web已经不复存在。今儿个就简单的聊聊如何在ASP.NET Core中使用内存缓存。我们一般将经常访问但是又不是经常改变的数据放进缓存是再好不过了,这样可以明显提高应用程序的性能。关于MemoryCache在Github上的地址:https://github.com/aspnet/Caching 总共有4个项目

第一个项目是缓存的抽象,其他三个是不同的类型Memory,Redis,SqServer

首先需要在ConfigureServices中注册缓存服务

public void ConfigureServices(IServiceCollection services)
{services.AddMemoryCache();services.AddMvc();
}

在下面的代码中从Home控制器的构造函中获取IMemoryCache实例

public class HomeController : Controller
{private IMemoryCache _cache;public HomeController(IMemoryCache memoryCache){_cache = memoryCache;}
}

关于缓存的使用常用的就是Set Get Remove,有人喜欢把这些代码封装到单独的类库中,我觉得没有必要,它可以直接在我们的Web项目中直接使用,而且IMemory向外的提供的扩展方法就是最好的封装

设置缓存 Set

_cache.Set("key", "value");

获取缓存 Get

var result = _cache.GetOrCreate("myKey", (entry) =>
{entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(120);return DateTime.Now.ToString();
});

移除缓存 Remove

_cache.Remove("key");

原文地址:http://www.cnblogs.com/bidianqing/p/6954254.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

在ASP.NET Core 2.0中使用MemoryCache相关推荐

  1. ASP.NET Core 3.0中使用动态控制器路由

    原文:Dynamic controller routing in ASP.NET Core 3.0 作者:Filip W 译文:https://www.cnblogs.com/lwqlun/p/114 ...

  2. 避免在 ASP.NET Core 3.0 中为启动类注入服务

    本篇是如何升级到ASP.NET Core 3.0系列文章的第二篇. Part 1 - 将.NET Standard 2.0 类库转换为.NET Core 3.0 类库 Part 2 - IHostin ...

  3. asp.net core 3.0 中使用 swagger

    asp.net core 3.0 中使用 swagger Intro 上次更新了 asp.net core 3.0 简单的记录了一下 swagger 的使用,那个项目的 api 比较简单,都是匿名接口 ...

  4. ASP.Net Core 2.0中的Razor Page不是WebForm

    随着.net core2.0的发布,我们可以创建2.0的web应用了.2.0中新东西的出现,会让我们忘记老的东西,他就是Razor Page.下面的这篇博客将会介绍ASP.Net Core 2.0中的 ...

  5. 在ASP.NET Core 2.0中使用CookieAuthentication

    在ASP.NET Core中关于Security有两个容易混淆的概念一个是Authentication(认证),一个是Authorization(授权).而前者是确定用户是谁的过程,后者是围绕着他们允 ...

  6. 在ASP.NET Core 2.0中创建Web API

    目录 介绍 先决条件 软件 技能 使用代码 第01步 - 创建项目 第02步 - 安装Nuget包 步骤03 - 添加模型 步骤04 - 添加控制器 步骤05 - 设置依赖注入 步骤06 - 运行We ...

  7. ASP.NET Core 3.0中支持AI的生物识别安全

    本文共两个部分,这是第一部分,其中介绍了 ASP.NET Core 3 中旨在将授权逻辑与基本的用户角色相分离的基于策略的授权模型. 此部分提供了此授权进程的基于生物识别信息(如人脸识别或语音识别)的 ...

  8. ASP.NET Core 1.0中的管道-中间件模式

    ASP.NET Core 1.0借鉴了Katana项目的管道设计(Pipeline).日志记录.用户认证.MVC等模块都以中间件(Middleware)的方式注册在管道中.显而易见这样的设计非常松耦合 ...

  9. 在 ASP.NET Core 5.0 中访问 HttpContext

    ASP.NET Core 应用通过 IHttpContextAccessor 接口及其默认实现 HttpContextAccessor 访问 HttpContext. 只有在需要访问服务内的 Http ...

最新文章

  1. python实现指纹识别毕业论文_指纹识别系统大学本科毕业论文
  2. mybatis分页插件PageHelper简单应用
  3. 数字信号处理笔记1-信号与常见操作
  4. P2604 ZJOI2010 网络扩容,费用流裸题
  5. dhcp只能分配与路由器相同网段么_路由器的桥接详解
  6. 模拟——魔法少女小Scarlet(洛谷 P4924)
  7. nginx基础概念(100%)之connection
  8. java大数据与python大数据如何选择?
  9. 《人工智能简史》读后感
  10. python关联分析库_使用Python进行数据关联分析
  11. 学生选课信息管理系统(可行性分析报告)
  12. 计算机平均数函数试题,计算机期末Excel表格题及二级考试常用函数
  13. web前端:img标签alt属性什么情况留空?
  14. mysql查询结果乘2倍_SQL查询总和乘以它应该的2倍
  15. 【sdx62】通过dtsi控制gpio高低电平实例
  16. 雅思等出国留学成绩要求一知半解?戳这里
  17. ARM-CPU工作原理,基于ARM的SOC讲解
  18. 虚拟机Linux CentOS 7安装配置Tomcat10(适用于安装任何tomcat版本!!)
  19. lpk提权-----dll注入
  20. DRGs病种付费与成本核算“八步法”

热门文章

  1. [原创]同一个Tomcat,配置多个context、多个Host
  2. JDK5.0新特性--可变参数
  3. C# 观察文件的更改
  4. ABP Framework 5.2 RC 版本发布及新增功能介绍
  5. 控制 Redis stream 的消息数量
  6. Blazor+Dapr+K8s微服务之开发环境调试
  7. 一个简单的方式搞定密码的加盐哈希与验证
  8. 使用c#接入华为云-内容审核
  9. BenchmarkDotNet v0.12x新增功能
  10. Power Automate生产现场实例分享回顾