Локальный кэш для управляемой службы кэша Azure

Важно!

Корпорация Майкрософт рекомендует всем новым разработкам использовать кэш Redis для Azure. Текущую документацию и рекомендации по выбору предложения кэша Azure см. в статье о том, какое предложение кэша Azure подходит для меня?

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

Общие сведения о локальном кэше

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

Время жизни объекта в локальном кэше зависит от ряда факторов, например максимального числа объектов в локальном кэше и политики недействительности. Имеются два типа недействительности для локального кэша: на основе таймаута и на основе уведомлений. Дополнительные сведения см. в статье "Истечение срока действия" и "Вытеснение" для Azure управляемая служба кэша.

Параметры конфигурации

Локальный кэш можно включить и настроить в файле конфигурации приложения или web.config. Элемент localCache можно добавить в раздел dataCacheClient . В следующей таблице перечислены атрибуты элемента localCache .

attribute Описание

isEnabled

Задайте значение true или false, чтобы включить или выключить локальный кэш.

Синхронизации

Определяет политику недействительности локального кэша. Возможные значения: TimeoutBased и NotificationBased.

objectCount

Максимальное количество объектов в локальном кэше. Значение по умолчанию — 10000.

ttlValue

Время хранения объектов в локальном кэше в секундах. Значение по умолчанию — 300 секунд.

Значение синхронизацииTimeoutBased сохраняет кэшированные объекты локально до достижения ограничения ttlValue . Значение NotificationBased позволяет использовать не только срок действия, но и уведомления. Чтобы использовать уведомления для недопустимости, уведомления необходимо сначала включить для кэша, выполнив действия, описанные в разделе "Включение уведомлений кэша". Интервал опроса при проверке уведомлений об изменении элементов в локальном кэше. Действующий интервал опроса для уведомлений должен быть короче, чем параметр ttlValue , который будет эффективным. Элемент сложения clientNotification можно использовать для настройки интервала опроса для уведомлений, задав атрибут pollInterval число секунд. Значение по умолчанию — 300 секунд.

Примечание

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

Примеры

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

<dataCacheClient name="default">
  <!-- Other configuration settings for cache omitted -->
  <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
</dataCacheClient>

В следующем примере показан предыдущий раздел dataCacheClient , измененный для использования уведомлений для предоставления дополнительной синхронизации путем опроса каждые одну минуту (60 секунд).

<dataCacheClient name="default">
  <!-- Other configuration settings for cache omitted -->
  <localCache isEnabled="true" sync="NotificationBased" objectCount="100000" ttlValue="300" />
  <clientNotification pollInterval="60" />
</dataCacheClient>

Чтобы скачать пример, использующий локальный кэш, ознакомьтесь с API кэша и примером производительности.

См. также:

Другие ресурсы

Функции управляемой службы кэша Azure