Как ограничить размер выходного кэша в Azure при использовании Redis

Я настраиваю кеш вывода в Azure, используя Redis в качестве хранилища кеша, следуя приведенным здесь инструкциям:

https://docs.microsoft.com/en-us/azure/redis-cache/cache-aspnet-output-cache-provider

Я не могу понять, как ограничить размер кеша вывода на лазури. Единственные инструкции, которые я могу найти в Интернете, относятся к прямой настройке IIS. Кто-нибудь знает, как?


person Mr. Flibble    schedule 02.10.2018    source источник


Ответы (1)


Ознакомьтесь со следующей документацией (Как настроить Azure Redis Cache), где есть раздел, посвященный политики памяти.

«Параметры политики Maxmemory, maxmemory-reserved и maxfragmentationmemory-reserved в колонке «Дополнительные параметры» настраивают политики памяти для кэша».

Политика Maxmemory настраивает политику вытеснения для кэша и позволяет выбрать одну из следующих политик вытеснения: volatile-lruЭто политика вытеснения по умолчанию. allkeys-lru volatile-random allkeys-random volatile-ttl noeviction Подробнее информацию о политиках maxmemory см. в разделе политики вытеснения.

Параметр maxfragmentationmemory-reserved настраивает объем памяти в МБ, который зарезервирован для фрагментации памяти. Установка этого значения позволяет обеспечить более согласованную работу сервера Redis, когда кеш заполнен или близок к заполнению, а коэффициент фрагментации высок. . Когда память зарезервирована для таких операций, она недоступна для хранения кэшированных данных». «Одна вещь, которую следует учитывать при выборе нового значения резервирования памяти (maxmemory-reserved или maxfragmentationmemory-reserved), — это то, как это изменение может повлиять на кеш, который уже работает с большими объемами данных. Например, если у вас есть 53 ГБ кэш с 49 ГБ данных, затем измените значение резервирования на 8 ГБ, это изменение снизит максимальный доступный объем памяти для системы до 45 ГБ. , то системе придется вытеснять данные до тех пор, пока и used_memory, и used_memory_rss не станут меньше 45 ГБ. Удаление может увеличить нагрузку на сервер и фрагментацию памяти. Дополнительные сведения о показателях кэша, таких как used_memory и used_memory_rss, см. на странице Доступные показатели и интервалы отчетности ."

person Mike Ubezzi MSFT    schedule 02.10.2018
comment
Спасибо @mike-ubezzi-msft Таким образом, метод управления размером заключается в том, чтобы сделать это на уровне Redis, а не на уровне выходного кэша. То есть вам нужно создать автономную базу данных Redis с ограничением размера и позволить кэшу вывода использовать ее всю, вместо того, чтобы совместно использовать базу данных Redis и указывать кэшу вывода использовать только 1 ГБ (например)? - person Mr. Flibble; 03.10.2018