外观
IMemoryCache
基本函数
//基本函数
CreateEntry(Object) //在缓存中创建或覆盖条目。
GetCurrentStatistics() //获取缓存统计信息的快照(如果可用)。
Remove(Object) //删除与给定键关联的对象。
TryGetValue(Object, Object) //获取与此键关联的项(如果存在)。
//扩展函数
Get(IMemoryCache, Object) //获取与此键关联的值(如果存在)。
Get<TItem>(IMemoryCache, Object) //获取与此键关联的值(如果存在)。
//获取与此键关联的值(如果存在),或者使用提供的键和给定工厂的值(如果未找到该键)生成新条目。
GetOrCreate<TItem>(IMemoryCache, Object, Func<ICacheEntry,TItem>)
//异步获取与此键关联的值(如果存在),或者使用提供的键和给定工厂的值(如果未找到该键)生成新条目。
GetOrCreateAsync<TItem>(IMemoryCache, Object, Func<ICacheEntry,Task<TItem>>)
Set<TItem>(IMemoryCache, Object, TItem) //将值与 IMemoryCache 中的指定键相关联。
//将缓存条目与指定的键相关联,并将现有 MemoryCacheEntryOptions 的值应用于创建的条目。
Set<TItem>(IMemoryCache, Object, TItem, MemoryCacheEntryOptions)
//将缓存条目与指定的密钥相关联,该密钥将在 IChangeToken 过期时过期。
Set<TItem>(IMemoryCache, Object, TItem, IChangeToken)
//创建或覆盖缓存中的指定条目,并设置具有绝对到期日期的值。
Set<TItem>(IMemoryCache, Object, TItem, DateTimeOffset)
//将缓存条目与指定的密钥相关联,该密钥将在指定的持续时间后过期。
Set<TItem>(IMemoryCache, Object, TItem, TimeSpan)
//尝试获取与指定键关联的值。
TryGetValue<TItem>(IMemoryCache, Object, TItem)注入
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
// IMemoryCache Microsoft.Extensions.Caching.Memory
// 注册内存缓存选项
containerRegistry.RegisterSingleton<IOptions<MemoryCacheOptions>>(provider =>
{
return new MemoryCacheOptions
{
ExpirationScanFrequency = TimeSpan.FromMinutes(5), //设置缓存过期清理扫描间隔
};
});
// 注册内存缓存服务
containerRegistry.RegisterSingleton<IMemoryCache, MemoryCache>();
}