FileCache BufferSize - свойствоNemiro.Data.dll
Максимальный объем данных (в килобайтах) для дополнительного кэша в памяти (ОЗУ) компьютера. Кэш памяти используется для ускорения работы файлового кэша.

Пространство имён: Nemiro.Data.Caching
Сборка: Nemiro.Data (в Nemiro.Data.dll) Версия: 2.11.4.126 (2.11.4.126)
Синтаксис

public long BufferSize { get; set; }

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

Тип: Int64
Значение по умолчанию 2048 Кб (2 Мб). Чтобы отключить буфер, установите значение ноль.
Заметки

Данные помещаются в буфер по мере необходимости и при каждом следующем запросе берутся из памяти, что позволяет не делать лишних операций в файловой системе. Если какие-то файлы кэша меняются, то эти изменения автоматически отражаются в буфере.

Не рекомендуется менять объем буфера программно, лучше указать его один раз при инициализации.

Буфер реализован на основе коллекции Hashtable.

При использовании кэша в многопоточных приложениях, буфер, на момент записи в него данных, блокируется. Время блокировки не может превышать BufferAccessTimeout. Блокировка необходима для решения известных проблем с доступом к Hashtable при очень большом количестве асинхронных запросов. Речь об исключении: InvalidOperationException: Hashtable insert failed. Load factor too high. The most common cause is multiple threads writing to the Hashtable simultaneously. Если у вас возникнут проблемы в работе кэша: излишние задержки, или может даже показанное выше исключение, то отключите буфер, установив значение 0. Но как показывает практика, в обычных условиях проблем в работе буфера не возникает. Механизм блокировки был сделан специально для веб-сайтов, в которых может производиться одновременно множество запросов к одним и тем же данным.

См. также