zoukankan      html  css  js  c++  java
  • 【Core内存】.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");
  • 相关阅读:
    Redis 记录
    flink 流控机制详解
    备份和快照的区别
    LVS 总结
    Keepalived 总结
    OpenResty 总结
    Lua 总结
    Element-UI 总结
    Java transient 关键字
    Activiti 框架
  • 原文地址:https://www.cnblogs.com/chuankang/p/8795317.html
Copyright © 2011-2022 走看看