Прочитать на английском

Поделиться через


MemoryCache.CacheMemoryLimit Свойство

Определение

Возвращает объем памяти на компьютере в байтах, который может использоваться кэшем.

public long CacheMemoryLimit { get; }

Значение свойства

Объем памяти в байтах.

Комментарии

Если текущий экземпляр кэша превышает ограничение памяти, заданное CacheMemoryLimit свойством , реализация кэша удаляет записи кэша. Каждый экземпляр кэша в приложении может использовать объем памяти, заданный свойством CacheMemoryLimit .

Параметры свойства CacheMemoryLimit можно указать в файле конфигурации приложения. Кроме того, их можно передать в конструктор при инициализации MemoryCache класса . Дополнительные сведения о настройке этого свойства см. в разделе <Элемент namedCaches> (параметры кэша). Дополнительные сведения о том, как задать это значение при инициализации MemoryCache класса, см. в методе MemoryCache .

MemoryCache не применяется CacheMemoryLimit мгновенно при каждом добавлении нового элемента в MemoryCache экземпляр. Внутренняя эвристика, которая вытеснит дополнительные элементы из MemoryCache , делает это постепенно и учитывает информацию от сборщика мусора (см. раздел Сборка мусора) и другие факторы, такие как текущий размер кэша и общая нехватка системной памяти. Поэтому, несмотря на MemoryCache то, что пытается сохранить размер кэша в пределах настроенного CacheMemoryLimit , можно временно превысить ограничение путем добавления элементов кэша с очень высокой скоростью.

Применяется к

Продукт Версии
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

См. также раздел