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))

猜你喜欢

转载自www.cnblogs.com/kent-apple/p/12235366.html