Daten zwischenspeichern, die von Komponenten geladen wurden
Leistung ist eines der wichtigsten Merkmale guter Apps. Bei Apps ist es akzeptabel, dass es eine Weile dauert, bis die Daten am Anfang geladen sind. Um aber als schnell wahrgenommen zu werden, muss die Menge der Daten, die eine App am Anfang abrufen muss, auf ein Minimum reduziert sein. Mehr noch: Sobald die App die Daten abgerufen hat, sollten sie solange zwischengespeichert werden, wie es die Aktualisierung der Daten zulässt.
Angenommen, Sie möchten in Ihrer App Informationen zu einer Person anzeigen:
Um diese Informationen anzeigen zu können, müssten Sie Microsoft Graph dreimal aufrufen. Zuerst rufen Sie die Informationen zu der Person, dann deren Bild und schließlich deren Anwesenheitsstatus ab.
Nehmen wir nun an, Sie möchten diese Informationen nicht für eine Person, sondern für fünf Personen anzeigen. Ihre App muss hierfür 15 Anforderungen ausführen. Wenn Informationen zu Benutzern an mehreren Stellen in der App angezeigt werden müssen (beispielsweise zum Anzeigen von Nachrichten, Dateiautoren oder Besprechungsteilnehmern), werden u. U. Aufrufe für Daten durchgeführt, die bereits abgerufen wurden.
Um das erneute Laden bereits vorhandener Daten zu vermeiden, können Sie einen benutzerdefinierten Zwischenspeicherungsmechanismus erstellen. Bevor Sie dies jedoch tun, sollten Sie erwägen, stattdessen das Microsoft Graph-Toolkit zu verwenden.
Konfigurieren des Caches für Microsoft Graph-Toolkit-Komponenten
Abgerufene Daten werden von Microsoft Graph-Toolkit-Komponenten automatisch zwischengespeichert. Wenn Sie bestimmte Informationen in Ihrer App benötigen, werden diese nur einmal heruntergeladen und bis zu ihrem Ablauf im Cache gespeichert. Standardmäßig werde Daten vom Microsoft Graph-Toolkit für eine Stunde zwischengespeichert. Informationen zur Anwesenheit eines Benutzers werden nur fünf Minuten zwischengespeichert, da sich der Anwesenheitsstatus tendenziell häufig ändert.
Sie können den Cache global steuern, aber bei Bedarf auch die Konfiguration für einen bestimmten Workload überschreiben. Cacheeinstellungen werden über die CacheService-Klasse verfügbar gemacht.
Um die Cachedauer für alle Komponenten zu ändern, ändern Sie den Wert der defaultInvalidationPeriod
-Eigenschaft:
import { CacheService } from '@microsoft/mgt';
// set cache expiration for all components to 30 minutes
CacheService.config.defaultInvalidationPeriod = 1800000;
Hinweis
Wenn Sie das Microsoft Graph-Toolkit aus einem Netzwerk für die Inhaltsübermittlung (CDN) laden, können Sie über die globale mgt
-Variable auf die CacheService
-Konfiguration wie folgt zugreifen:
<script src="https://unpkg.com/@microsoft/mgt@3/dist/bundle/mgt-loader.js"></script>
<script>
mgt.CacheService.config.defaultInvalidationPeriod = 1800000;
</script>
Um den Cache für alle Komponenten zu deaktivieren, legen Sie die Eigenschaft isEnabled
auf false
fest:
import { CacheService } from '@microsoft/mgt';
// disable cache for all Microsoft Graph Toolkit components
CacheService.config.isEnabled = false;
Wichtig
Wenn Sie den Cache für alle Komponenten im Microsoft Graph-Toolkit deaktivieren, wird Ihre App dieselben Daten möglicherweise mehrmals aus Microsoft Graph herunterladen. Dies hat negative Auswirkungen auf die Leistung Ihrer Anwendung.
Wenn Sie das Zwischenspeichern von Personendaten durch Komponenten deaktivieren möchten, legen Sie die isEnabled
-Eigenschaft des Personencaches auf false
fest:
import { CacheService } from '@microsoft/mgt';
// disable people cache for all Microsoft Graph Toolkit components
CacheService.config.people.isEnabled = false;
Konfigurieren des Caches für die mgt-get-Komponente
Microsoft Graph Toolkit-Komponenten speichern ihre Daten pro Workload zwischen, z. B. Personen, Fotos oder Gruppen. Bei einer solchen Organisation des Caches kann eine Komponente die Daten und andere Komponenten laden, um sie aus dem Cache abzurufen, ohne doppelte Anforderungen ausführen zu müssen. Die einzige Komponente, die anders funktioniert, ist mgt-get.
Mit der mgt-get-Komponente können Sie alle Daten aus Microsoft Graph in Ihrer App laden und anzeigen. Da mgt-get beliebige Daten anzeigen kann, verfügt es über einen eigenen Cache mit dem Namen Antwort. Wie bei jedem anderen Cacheobjekt können Sie konfigurieren, ob der Antwort-Cache aktiviert ist und wie lange die Daten beibehalten werden sollen. Der Antwort-Cache wird von keiner anderen Komponente in Microsoft Graph Toolkit verwendet.
Nächste Schritte
Lassen Sie uns das Gelernte in die Praxis umsetzen und die Konfigurationseinstellungen für Microsoft Graph-Toolkit-Komponenten ändern.