.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#通过kd树进行距离最近点的查找的实例分析

.net下关于log4net的使用方法的图文代码分享

c#关于验证身份证号码的实例分析(正确性)

在.net core类库中使用ef core迁移数据库到sql server的方法_实用技巧

c#开发微信门户及应用(二)之微信消息处理和应答的图文代码教程

.net中的序列化详解

比较c#中值类型和引用类型的区别

.net中json数据进行序列化和反序列化操作分析

c# 实现截图功能的操作实例

c#中匿名对象与var以及动态类型 dynamic的详解

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




打赏

取消

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

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

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

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

评论

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