Грязный обходной путь, может вызвать некоторые проблемы, но, насколько я могу судить, это единственный способ удалить все элементы сразу без перезагрузки службы :)

рвый взгляд это выглядит дубликатомэтот вопрос, но я не спрашиваю, как очистить кэш для EF.

Как я могу очистить весь кеш, установленныйIMemoryCache интерфейс?

    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;
    }

Это всего лишь пример. У меня есть много классов / методов, которые хранят значения для кэширования. Теперь мне нужно удалить их все.

Мои ключи в некоторых случаях создаются динамически, поэтому я не знаю, какие ключи мне нужно удалить. Ясно было бы идеально.

Я мог бы написать свой собственный интерфейс и класс, который будет использовать внутриIMemoryCache, но это кажется излишним. Есть ли более простые варианты?

Ответы на вопрос(2)

Ваш ответ на вопрос