当前第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》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » .NET Core2.0小技巧之MemoryCache问题修复解决的方法(图)