ASP.NET Core borrar caché de IMemoryCache (establecido por el método Set de la clase CacheExtensions)
A primera vista, esto parece duplicado deesta pregunta, pero no estoy preguntando cómo borrar el caché para EF.
¿Cómo puedo borrar todo el caché establecido porIMemoryCache
¿interfaz?
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;
}
Esto es solo un ejemplo. Tengo muchas clases / métodos que almacenan valores en la memoria caché. Ahora necesito eliminarlos a todos.
Mis claves, en algunos casos, se crean dinámicamente, por lo que no sé qué claves necesito eliminar. Claro sería perfecto.
Podría escribir mi propia interfaz y clase que usaría internamenteIMemoryCache
, pero esto parece excesivo. ¿Hay alguna opción más fácil?