Продажи: 1-800-867-1389

Истечение срока действия и вытеснение для управляемой службы Azure

Обновлено: Июль 2010 г.

noteПримечание
Руководство по выбору правильного предложения службы кэша Azure см. в разделе Какой кэш Azure подходит мне лучше всего?.

Кэш Microsoft Azure не хранит постоянно объекты кэша в памяти. В дополнение к полному удалению из кэша посредством метода Remove, у объектов кэша может также истечь срок действия или они могут быть вытеснены кэшем.

Истечение срока действия кэша позволяет ему автоматически удалять объекты. При использовании методов Put или Add возможное значение ожидания объекта может быть настроено для определенного объекта кэша, которое будет определять, как долго он будет оставаться в кэше. Если значение ожидания объекта не предоставляется во время кэширования объекта, кэшированный объект использует срок действия по умолчанию. Время по умолчанию для службы Управляемая служба кэша составляет десять минут.

Политика срока действия работает в совокупности с параметром Время (мин) для определения момента истечения срока действия элементов в кэше, и данное поведение настраиваются на уровне именованного кэша на портале управления на вкладке "Настройка" для кэша.

Политика срока действия для службы кэша Windows Azure

Существует три вида политики срока действия: Абсолютный, Скользящий и Бессрочный.

 

Политика срока действия Описание

Никогда.

Истечение срока действия отключено. Элементы остаются в кэше, пока не будут вытеснены. Если указано Никогда, Время (мин) должно быть задано как 0.

Абсолютная

Срок действия, определенный как Время (мин), начинается при добавлении элемента в кэш. По истечении интервала Время (мин) срок существования элемента кэша завершается.

Скользящая

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

Абсолютный — это политика срока по умолчанию, и для параметра Время (мин) по умолчанию задается 10 минут. Политика срока действия фиксирована для каждого элемента в именованном кэше, однако Время (мин) может быть изменено для каждого элемента с помощью перегрузок Add и Put, которые принимают параметр timeout.

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

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

Для предотвращения мгновенного удаления при открытии объектов с истекшим сроком действия метод Открыть также поддерживает увеличение срока действия кэшированных объектов.

Вы можете видеть состояние и производительность вашего кэша на вкладке "Мониторинг" для кэша на портале управления, включая метрики для вытеснения и истечения срока действия. Дополнительные сведения см. в разделе Monitoring the cache service using the Monitor tab.

Существует два дополняющих типа недействительности локального кэша: недействительность, основанная на ожидании, и недействительность, основанная на уведомлении.

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

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

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

noteПримечание
Уведомления доступны для размеров кэша Standard и Premium, но не доступны для размера кэша Basic. Дополнительные сведения см. в разделе Предложения кэша для управляемой службы кэша Azure.

При использовании уведомлений кэша приложение проверяет наличие новых уведомлений в кэше с регулярным интервалом. Этот интервал, называемый интервалом опроса, по умолчанию составляет 300 секунд. Интервал опроса задается в секундах в параметрах конфигурации приложения. Обратите внимание на то, что даже при недействительности, основанной на уведомлении, таймауты все же применяются к элементам в локальном кэше. Это делает недействительность, основанную на уведомлении, комплиментарной к недействительности, основанной на ожидании.

Дополнительную информацию и примеры смотрите в разделе Локальный кэш для управляемой службы кэша Azure.

Для обеспечения доступности нужного объема памяти в кэше поддерживается политика извлечения дольше всего неиспользуемых элементов (LRU, least recent used). Когда потребление памяти приближается к размеру вашего предложения кэша, объекты вытесняются из памяти вне зависимости от того, истек ли их срок действия. Вытеснение производится до тех пор, пока потребление памяти не достигнет нижней конечной точки.

WarningПредупреждение
Если вы отключили вытеснение данных, вы подвергаетесь риску регулирования количества запросов. В данном случае память превысила порог, но возможность уменьшить недостаток памяти отсутствует. Клиенты, которые в данном состоянии пытаются добавить элементы в кэш, получают исключения, пока эта проблема не разрешится.

Вы можете видеть состояние и производительность вашего кэша на вкладке "Мониторинг" для кэша на портале управления, включая метрики для вытеснения и истечения срока действия. Дополнительные сведения см. в разделе Monitoring the cache service using the Monitor tab.

Существует два параметра вытеснения: Включено и Выключено. Вытеснение настраивается на уровне именованного кэша на портале управления на вкладке "Настройка" для кэша, значением по умолчанию является Включено.

Политика вытеснения для службы кэша Windows Azure

Следующие методы позволят вам переопределить настройки по умолчанию, которые установлены в кэше:

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

  • Методы PutAndUnlock и Unlock обеспечивают перегрузки, которые позволят вам увеличить истечение срока действия объекта после его закрытия.

  • Метод ResetObjectTimeout позволит вам явным образом увеличить время существования объекта, переопределив настройки истечения срока действия кэша.

noteПримечание
Несмотря на параметры истечения срока действия и вытеснения, данные кэша не сохраняются во время во время неожиданных выключений или сбоев службы кэша. Ваш код приложения должен перезагрузить кэш из источника данных, если данные не были найдены в кэше. Это часто именуется шаблоном программирования отдельно от кэша.

См. также

Была ли вам полезна эта информация?
(1500 символов осталось)
Спасибо за ваш отзыв
Показ:
© 2014 Microsoft