.NET Core2.0小技巧之MemoryCache问题修复解决的方法(图)


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

public static void SetChacheValue(string key, object value)

{

 if (key != null)

 {

  CacheItemPolicy policy = new CacheItemPolicy

  {

   SlidingExpiration = TimeSpan.FromHours(1)

  };

  cache.Set(key, value, policy);

 }

}

修改后:


1

2

3

4

5

6

7

8

9

10

public static void SetChacheValue(string key, object value)

{

 if (key != null)

 {

  cache.Set(key, value, new MemoryCacheEntryOptions

  {

   SlidingExpiration = TimeSpan.FromHours(1)

  });

 }

}

结论

在使用了Microsoft.Extensions.Caching.Memory下的新API改写了旧代码后,你会发现原有的各种内存缓存超时策略全都是有对应新API的,包括AbsoluteExpiration, SlidingExpiration等等。

所以我们还是可以很轻松的使用.NET Core新API简单改动下下就能重用现有绝大部分旧代码,将其迁移过来继续起作用。

迁移后的完整代码如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

using Microsoft.Extensions.Caching.Memory;

using System;

 

namespace TestMemoryCacheWebApp.Services

{

 public class MemoryCacheService

 {

  static MemoryCache cache = new MemoryCache(new MemoryCacheOptions());

  /// <summary>

  /// 获取缓存值

  /// </summary>

  /// <param name="key"></param>

  /// <returns></returns>

  private object GetCacheValue(string key)

  {

   object val = null;

   if (key != null && cache.TryGetValue(key, out val))

   {

 

    return val;

   }

   else

   {

    return default(object);

   }

  }

  /// <summary>

  /// 添加缓存内容

  /// </summary>

  /// <param name="key"></param>

  /// <param name="value"></param>

  public static void SetChacheValue(string key, object value)

  {

   if (key != null)

   {

    cache.Set(key, value, new MemoryCacheEntryOptions

    {

     SlidingExpiration = TimeSpan.FromHours(1)

    });

   }

  }

 }

}

总结

以上就是.NET Core2.0小技巧之MemoryCache问题修复解决的方法(图)的详细内容!

返回前面的内容

相关阅读 >>

c# 一些面试试题的实例教程

c#中引用类型之特例string的详细介绍

c#执行原理深入解析(图文)

.net mvc 使用ueditor上传图片

c#如何使用libusbdotnet实现usb通信的示例详解

新手学习.net编程计划-1

c#如何生成二维码的示例分享

.net中怎么实现程序分页

.net通过字典给类赋值实现代码

c# .net 将list序列化

更多相关阅读请进入《MemoryCache》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    暂无评论...