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