Экспорт (0) Печать
Развернуть все

Локальный кэш (кэш роли для кэша Azure)

Обновлено: Сентябрь 2014 г.

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

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

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

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

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

 

Атрибут Описание

isEnabled

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

sync

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

objectCount

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

ttlValue

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

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

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

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

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

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

    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="WebRole1" />
      <localCache isEnabled="true" sync="NotificationBased" objectCount="100000" ttlValue="300" />
      <clientNotification pollInterval="60" />
    </dataCacheClient>

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

См. также

Показ:
© 2015 Microsoft