简单介绍
项目开发中经常是用到缓存技术,缓存可以显著提高应用的性能和可伸缩性。对于系统经常是用的固定数据或临时存储一些数据,都有很好的帮助。同时在使用缓存的时候也要注意生命周期,比如什么时候创建创建、什么时候读取、什么时候移除等。
开发中所使用的缓存方式也有很多种,例如:数据库、文本、session、cookie、redis、内存等等,每种方式都有自己的有优劣势,具体的技术选型则是需要根据具体的场景选择。
这里介绍Asp.net Core中是所使用的一种简单的缓存技术:MemoryCache 。
使用流程
1、Microsoft.AspNetCore.App(2.2.0) 中已包含了MemoryCache 包,所以无需NuGet上单独安装。
2、将对应的服务添加到容器中。
代码位置:在项目的Startup类的ConfigureServices()方法中调用AddMemoryCache服务,示例代码如下:
1 |
services.AddMemoryCache(); |
3、控制器中构造函数获取函数示例,.Net自动从容器中进行实例化,所以不用 new 对象,示例代码如下:
1 2 3 4 5 |
private IMemoryCache _memoryCache; public LoginController(IMemoryCache memoryCache) { this._memoryCache = memoryCache; } |
4、常规的一些操作,见示例代码。
1 2 3 4 5 6 7 8 9 10 |
//设置缓存 this._memoryCache.Set("key", "value", DateTimeOffset.Now.AddMinutes(10)); //读取缓存,结果 data=value var data= this._memoryCache.Get("key"); //移除缓存 this._memoryCache.Remove("key"); //移除以后结果是 null var data2 = this._memoryCache.Get("key"); |
以上内容只是我个人在学习中的一点总结,如有不正之处还请谅解,谢谢!
发布者:柚子,转转请注明出处:https://ityouzi.com/archives/asp-net-core-cache-memorycache.html