首页 > 代码库 > 在ASP.NET Core 2.0中使用MemoryCache
在ASP.NET Core 2.0中使用MemoryCache
说到内存缓存大家可能立马想到了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");
在ASP.NET Core 2.0中使用MemoryCache
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。