На моем компьютере с Windows Server 2008 R2 я настроил использование Серверное приложение Возможности кеширования.
У него есть хороший API, который я могу реализовать в качестве поставщика кеширования по умолчанию на моем Приложения ASP.NET MVC.
У меня в голове следующий вопрос: Что происходит, когда заканчивается память?
В этой машине у меня 4 ГБ памяти. Я осмотрелся, но не нашел ничего, что позволило бы мне настроить макс. использование памяти для AppFabric.
Есть идеи, как мне действовать в этой ситуации?
Вы можете настроить общий объем памяти, который будет использоваться для кэширования AppFabric на каждом узле кеша в кластере, с помощью параметра Set-CacheHostConfig Командлет Powershell. Используйте параметр CacheSize (указывается в МБ), например.
Set-CacheHostConfig -HostName MyCacheServer -CachePort 22233 -CacheSize 1024
У каждого узла кэша также есть два пороговых значения памяти, нижняя и верхняя отметки, выраженные в процентах. Я не могу найти его явно записанного нигде в MSDN, но я предполагать это проценты от размера кеша, а не проценты от общей памяти на машине. Опять же, вы можете настроить эти параметры с помощью Set-CacheHostConfig
.
Как указано в Истечение срока и выселение, как только достигается нижняя отметка, объекты с истекшим сроком годности удаляются из кеша (что для меня поднимает вопрос о Зачем они не выселяются по истечении срока их действия, но это на другой день) на основе наименее недавно использованных. Если будет достигнута отметка максимального уровня, неистекшие предметы будут выселены до тех пор, пока не будет достигнута отметка минимума.