Данные кеша, загружаемые компонентами

Завершено

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

Например, предположим, что вы хотите отобразить сведения о человеке в своем приложении:

Снимок экрана: компонент

Чтобы показать эти сведения, вам потребуется вызвать Microsoft Graph три раза. Сначала нужно извлечь сведения о человеке, его фотографию и, наконец, сведения о его присутствии.

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

Чтобы избежать загрузки уже полученных данных, вы можете создать пользовательский механизм кэширования. Но прежде чем делать это, рассмотрите возможность использования Microsoft Graph Toolkit.

Настройка кэша для компонентов Microsoft Graph Toolkit

Компоненты Microsoft Graph Toolkit автоматически кэшируют извлеченные данные. Если вам нужна определенная информация в приложении, она скачивается только один раз и сохраняется в кэше до истечения срока действия. По умолчанию Microsoft Graph Toolkit кэширует данные на 1 час. Сведения о присутствии пользователя кэшируется всего на 5 минут, так как состояние присутствия часто меняется.

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

Чтобы изменить длительность кэширования для всех компонентов, измените значение свойства defaultInvalidationPeriod:

import { CacheService } from '@microsoft/mgt';

// set cache expiration for all components to 30 minutes
CacheService.config.defaultInvalidationPeriod = 1800000;

Примечание.

Если вы загружаете Microsoft Graph Toolkit из сети доставки содержимого, вы можете получить доступ к конфигурации CacheService с помощью глобальной переменной mgt следующим образом:

<script src="https://unpkg.com/@microsoft/mgt@3/dist/bundle/mgt-loader.js"></script>
<script>
  mgt.CacheService.config.defaultInvalidationPeriod = 1800000;
</script>

Чтобы отключить кэш для всех компонентов, присвойте свойству isEnabled значение false:

import { CacheService } from '@microsoft/mgt';

// disable cache for all Microsoft Graph Toolkit components
CacheService.config.isEnabled = false;

Важно!

Если вы отключите кэш для всех компонентов в Microsoft Graph Toolkit, ваше приложение может несколько раз скачивать одинаковые данные из Microsoft Graph. Это отрицательно скажется на производительности вашего приложения.

Чтобы отключить кэширование данных людей компонентами, присвойте свойству isEnabled кэширования людей значение false:

import { CacheService } from '@microsoft/mgt';

// disable people cache for all Microsoft Graph Toolkit components
CacheService.config.people.isEnabled = false;

Настройка кэша для компонента mgt-get

Компоненты Microsoft Graph Toolkit кэшируют свои данные по отдельным рабочим нагрузкам, например для людей, фотографий или групп. Такая организация кэша позволяет одному компоненту загружать данные и другие компоненты для их извлечения из кэша, не запуская дублирующиеся запросы. Единственный компонент, который работает по-другому, — mgt-get.

С помощью компонента mgt-get вы можете загружать и показывать любые данные из Microsoft Graph в приложении. Так как mgt-get может показывать произвольные данные, он имеет собственный кэш с именем response. Как и для любого другого объекта кэша, вы можете настроить, включен ли кэш response и как долго он должен хранить данные. Кэш response не используется другими компонентами в Microsoft Graph Toolkit.

Дальнейшие действия

Давайте рассмотрим изученное вами на практике и изменим параметры конфигурации для компонентов Microsoft Graph Toolkit.