Mettre en cache les données chargées par composants

Effectué

Les performances sont l’une des caractéristiques principales des applications les plus parfaites. Il est acceptable qu’une application prenne un moment pour charger ses données initialement. Toutefois, pour être perçu comme rapide, l’application doit réduire la quantité de données dont elle a besoin pour récupérer au départ. De plus, une fois que l’application a récupéré ses données, elle doit les mettre en cache aussi longtemps que cela est raisonnable pour que les données actualisées.

Par exemple, supposons que vous vouliez afficher des informations sur une personne dans votre application :

Capture d’écran du composant Personne du Kit de ressources Microsoft Graph affichant des informations sur une personne

Pour afficher ces informations, vous devez appeler Microsoft Graph trois fois. Tout d'abord, vous récupérez les informations sur la personne, puis sa photo et enfin sa présence.

Imaginons que vous vouliez afficher ces informations non pour une seule personne mais pour cinq personnes. Votre application doit exécuter 15 demandes. Si vous avez besoin d’afficher des informations sur les utilisateurs à plusieurs endroits dans votre application (par exemple, pour afficher des messages, des auteurs de fichiers, ou des participants à des réunions), vous pouvez émettre des appels pour les données qui ont déjà été récupérées.

Pour éviter de charger les données que vous avez déjà, vous pouvez créer un mécanisme de mise en cache personnalisé. Avant cela, envisagez plutôt d’utiliser le Kit de ressources Microsoft Graph.

Configurer le cache pour les composants du Kit de ressources Microsoft Graph

Les composants du Kit de ressources Microsoft Graph mettent en cache automatiquement les données qu’ils récupèrent. Si vous avez besoin d’informations spécifiques dans votre application, elles ne seront téléchargées qu’une seule fois, et stockées dans le cache jusqu’à leur expiration. Par défaut, le Kit de ressources Microsoft Graph met en cache les données pendant 1 heure. Les informations sur la présence d’un utilisateur sont mises en cache pendant 5 minutes, car la présence tend à changer souvent.

Vous pouvez contrôler le cache de manière globale, mais aussi remplacer la configuration d’une charge de travail spécifique si nécessaire. Les paramètres de cache sont exposés via la classe CacheService.

Pour modifier la durée de cache de tous les composants, modifiez la valeur de la propriété defaultInvalidationPeriod :

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

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

Remarque

Si vous chargez le Kit de ressources Microsoft Graph à partir d’un content delivery network, vous pouvez accéder à la configuration de CacheService via la variable globale mgt comme suit :

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

Pour désactiver le cache de tous les composants, définissez la propriété isEnabled sur false :

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

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

Importante

Si vous désactivez le cache de tous les composants du Kit de ressources Microsoft Graph, votre application pourrait télécharger les mêmes données plusieurs fois à partir de Microsoft Graph. Cela a un impact négatif sur les performances de votre application.

Pour désactiver la mise en cache des données de personnes par les composants, définissez isEnabledla propriété des personnes mises en cache false :

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

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

Configurer le cache pour le composant mgt-get

Les composants du Kit de ressources Microsoft Graph mettent en cache leurs données par charge de travail, par exemple des personnes, des photos ou des groupes. Une telle organisation du cache permet à un composant de charger les données et d’autres composants de les extraire du cache sans exécuter de demandes en double. Le seul composant qui fonctionne différemment est mgt-get.

Le composant mgt-get vous permet de charger et d’afficher les données de Microsoft Graph dans votre application. Étant donné que mgt-get peut afficher des données arbitraires, il possède son propre cache nommé réponse. Comme pour tout autre objet cache, vous pouvez configurer si le cache réponse est activé, et la durée pendant laquelle il doit conserver les données. Le cache réponse n’est utilisé par aucun autre composant du Kit de ressources Microsoft Graph.

Étapes suivantes

Nous allons mettre en pratique ce que vous avez appris et modifier les paramètres de configuration des composants du Kit de ressources Microsoft Graph.