MemoryCache类使用记录

Posted kent-apple

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MemoryCache类使用记录相关的知识,希望对你有一定的参考价值。

NuGet引用Microsoft.Extensions.Caching.Memory包

引用命名空间

using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Options;

实例化之后就可以使用.

static void Main(string[] args)
{
  var cache = new MemoryCache(new MemoryCacheOptions());
  //设置静态缓存   cache.Set(
"A", 1);
  if (cache.TryGetValue("User", out int value))
    Console.WriteLine(value);
//设置一秒后过期
  cache.Set(
"B",2,DateTimeOffset.Now.AddMilliseconds(1000).DateTime);
  Console.ReadLine(); }

 

有两点需要注意.

1.取出缓存的时候取出的是实例引用.修改该实例会影响缓存内的实例.

2.在Standard类库中引用Microsoft.Extensions.Caching.Memory包(版本:3.1.1)时,依赖的System.Memory版本为4.5.2.会与其他包或者SDK依赖的System.Memory(4.5.3)产生版本冲突,需要手动修改下.希望版本能快速跟上.

依赖关系(Microsoft.Extensions.Caching.Memory(3.1.1)->Microsoft.Extensions.Options (3.1.1)->Microsoft.Extensions.Primitives (3.1.1)->System.Memory (4.5.2))

以上是关于MemoryCache类使用记录的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#分析一个错误使用MemoryCache导致的BUG

获取使用 MemoryCache 类 c# 缓存的所有缓存对象

缓存处理类(MemoryCache结合文件缓存)

支持区域的 MemoryCache?

分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S C/S项目均可以使用!

MemoryCache 和多个每次调用 WCF 服务