作家
登录

关于ASP.NET内存缓存你需要知道的10点

作者: 来源: 2017-06-23 09:03:19 阅读 我要评论

缓存机制的重要目标是进步应用法度榜样的机能。作为 ASP.NET 开辟人员,你可能会心识到 ASP.NET Web 窗体以及 ASP.NET MVC 可以应用 Cache 对象缓存应用法度榜样的数据。这平日被称为办事器端数据缓存,并且常作为框架的内置功能。固然 ASP.NET Core 中并没有如许的 Cache 对象,然则你可以很轻易地实现内存缓存。本文将向你解释若何实现。

然后按照下面提到的步调一一构建和测试由内存缓存供给的各类功能。

1. 内存缓存须要在启动类 Startup 中启用一下

为了能在一个缓存项膳绫擎设置这两种过时策略,你要用到 MemoryCacheEntryOptions 对象。如下代码向你展示了若何去应用。

不合于 ASP.NET Web 窗体和 ASP.NET MVC,ASP.NET Core 没有内置的 Cache 对象,可以拿来在控制器琅绫擎直接应用。 这里,内存缓存时经由过程依附注仁攀来启用的,是以第一步就是在 Startup 类中注册内存缓存的办事。如斯,就得打开 Startup 类然后定位到 ConfigureServices() 办法,像下面如许修改 ConfigureServices() 办法:

  1. public void ConfigureServices(IServiceCollection services) 
  2.  
  3.  
  4.     services.AddMvc(); 
  5.  
  6.         services.AddMemoryCache(); 
  7.  
  8.  

为了向你的应用法度榜样参加内存缓存才能,你须要在办事集合上调用 AddMemoryCache() 办法。采取这种办法就可以让一个内存缓存(它是一个 IMemoryCache 对象)的默认实现可以被注入到控制器中去。

然后打开 HomeController 并对其进行修改,如下所示:

  1. public class HomeController : Controller 
  2.  
  3.  
  4.     private IMemoryCache cache; 
  5.  
  6.  
  7.     public HomeController(IMemoryCache cache) 
  8.  
  9.     { 
  10.  
  11.         this.cache = cache; 
  12.  
  13.     } 
  14.  
  15.     .... 
  16.  
  17.  

如你所见,上述代码声清楚明了一个 ImemoryCache 的私有变量。该变量会被构造器中被赋值。构造器会经由过程 DI(依附注入)接收到缓存参数,然后被存储在本地变量总,供给后续应用。

3. 你可以应用 Set() 办法来在缓存中存器械

上述代码在 Index() 这个 action 中设置了一个缓存项。这是经由过程应用 IMemoryCache 的 Set<T>() 来完成的。Set() 办法的第一个参数是键名,用来标识该数据项。第二个参数是键的取值。在词攀例中,我们存储一个字符串的键和一个字符串的值,而你也可以存储其它类型 (原生以及自定义的类型) 的键值对。

等你有了这个 IMemoryCache 对象,就可以攫取或者向它写入数据了。向缓存写入数据项是相当直接的。

  1. public IActionResult Index() 
  2.  
  3.  
  4.   cache.Set<string>("timestamp", DateTime.Now.ToString()); 
  5.  
  6.   return View(); 
  7.  
  8.  

4. 你可以应用 Get 办法来大年夜缓存中获取到一个数据项

等你向缓存中添加好了数据,也许会想要在应用法度榜样的其它处所去获取到该数据,可以用 Get() 来做到。如下代码会告诉你若何来做这件工作。

  1. public IActionResult Show() 
  2.  
  3.  
  4.   string 
     1/6    1 2 3 4 5 6 下一页 尾页

      推荐阅读

      Python MySQL数据库连接池组件

    引言pymysqlpool 是数据库对象包中新成员,目标是能供给一个实用的数据库连接池中心件,大年夜而避免在应用中频繁地创建和释放数据库连接资本。功能 连接池本身是线程安然的,可在多线>>>详细阅读


    本文标题:关于ASP.NET内存缓存你需要知道的10点

    地址:http://www.17bianji.com/lsqh/35873.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)