Limpar o cache do ASP.NET Core do IMemoryCache (definido pelo método Set da classe CacheExtensions)
À primeira vista, isso parece duplicado deessa questão, mas não estou perguntando como limpar o cache do EF.
Como posso limpar todo o cache definido porIMemoryCache
interface?
public CacheService(IMemoryCache memoryCache)
{
this._memoryCache = memoryCache;
}
public async Task<List<string>> GetCacheItem()
{
if (!this._memoryCache.TryGetValue("Something", out List<string> list))
{
list= await this ...
this._memoryCache.Set("Something", list, new MemoryCacheEntryOptions().SetPriority(CacheItemPriority.NeverRemove));
}
return list;
}
Este é apenas um exemplo. Eu tenho muitas classes / métodos que estão armazenando valores em cache. Agora eu preciso removê-los todos.
Minhas chaves são, em alguns casos, criadas dinamicamente, por isso não sei quais chaves preciso remover. Claro seria perfeito.
Eu poderia escrever minha própria interface e classe que usaria internamenteIMemoryCache
, mas isso parece um exagero. Existe alguma opção mais fácil?