Skip to main content

Erste Schritte mit Plattform-Cache

Hinweis

Hinweis

Trailblazer aufgepasst! Salesforce hat auf Desktop-Geräten zwei unterschiedliche Benutzeroberflächen: Lightning Experience und Salesforce Classic. Dieses Modul bezieht sich auf Salesforce Classic.

Lernziele

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:

  • Beschreiben, was Plattform-Cache ist und wofür er verwendet wird
  • Nennen der beiden Arten von Plattform-Cache und Angeben von Beispielen für beide
  • Beschreiben von Partitionen und ihrer Nutzung

Was ist ein Cache?

Ein Cache ist temporärer Speicher. In der Computerwelt ist der Cache ein Zwischenspeicher für häufig aus einer Datenbank abgerufene Daten. Hier zur Veranschaulichung eine Analogie. Angenommen, Sie sind ein Eichhörnchen, das nach Nüssen und Eicheln zum Abendessen sucht. Es ist 17 00 Uhr und Sie sind bereit zum Fressen. Werden Sie die Nüsse und Eicheln in Ihren Backen verwenden (Cache) oder kehren Sie in den Wald zurück, um mehr Baumfrüchte zu sammeln (Datenbank)? Wenn Sie auf den temporären Cache von Nahrung in Ihren Backen zugreifen, ist Ihr Abendessen näher bei Ihnen, sodass Sie schneller satt werden! Außerdem erreichen Sie Ihr Ziel effizienter. Ein Datencache hat ähnliche Vorteile, aber für Menschen, nicht für Eichhörnchen.

Ein Eichhörnchen mit Eicheln in der Backe

Was ist Plattform-Cache?

Plattform-Cache ist eine Speicherschicht, die Salesforce-Sitzungs- und Organisationsdaten für den späteren Zugriff speichert. Bei Verwendung von Plattform-Cache können Ihre Anwendungen schneller ausgeführt werden, da wiederverwendbare Daten im Arbeitsspeicher abgelegt werden. Anwendungen können schnell auf diese Daten zugreifen. Sie müssen bei nachfolgenden Transaktionen keine Berechnungen und Anforderungen an die Datenbank duplizieren. Stellen Sie sich Plattform-Cache als eine Art RAM für Ihre Cloud-Anwendung vor.

Mithilfe von Plattform-Cache können Sie auch Cache-Speicherplatz zuweisen, sodass einige Anwendungen oder Vorgänge keine Kapazität von anderen stehlen. Zur Verteilung von Speicherplatz verwenden Sie Partitionen. Zu Partitionen kommen wir später.

Bevor wir weitermachen

Lassen Sie uns eine kurze Pause einlegen, damit Sie eine Testversion von Plattform- Cache beantragen können. Standardmäßig verfügt Ihre Developer-Organisation über eine Cache-Kapazität von 0 MB. Sie können einen Test-Cache von 10 MB beantragen.

Um eine Testversion zu beantragen, wechseln Sie in Ihrer Developer-Organisation zu Setup. Geben Sie in das Feld "Schnellsuche" den Begriff "Cache" ein und klicken Sie dann auf Plattform-Cache. Klicken Sie auf Request Trial Capacity (Testkapazität beantragen) und warten Sie auf den Eingang der E-Mail mit der Benachrichtigung, dass die Testversion von Plattform-Cache aktiv ist. Salesforce genehmigt Anträge von Testversionen sofort. Es kann jedoch einige Minuten dauern, bis Sie die E-Mail erhalten.

Schaltfläche 'Request Trial Capacity' (Testkapazität beantragen) auf der Seite 'Plattform-Cache'

Wenn Sie keinen Test-Cache haben, können Sie trotzdem Cache-Vorgänge ausführen, um zu lernen, wie der Cache verwendet wird. Der Cache-Speicher wird jedoch umgangen und die abgerufenen Werte sind NULL (Fehlzugriff auf den Cache).

Nachdem Sie nun eine Testversion von Plattform-Cache beantragt haben, lassen Sie uns einige weitere Konzepte durchgehen.

Wann kann Plattform-Cache verwendet werden?

Sie können Plattform-Cache in Ihrem Code praktisch überall dort verwenden, wo Sie immer wieder auf die gleichen Daten zugreifen. Die Verwendung von im Cache zwischengespeicherten Daten verbessert die Leistung Ihrer Anwendung und ist schneller als das wiederholte Ausführen von SOQL-Abfragen, das Ausführen mehrerer API-Aufrufe oder das Durchführen komplexer Berechnungen.

Für welche Daten eignet sich der Cache am besten?

  • Daten, die während einer Sitzung oder für alle Benutzer und Anforderungen wiederverwendet werden
  • Statische (sich nicht schnell ändernde) Daten
  • Daten, die aufwendig zu berechnen oder abzurufen sind

Speichern von Daten, die sich nicht oft ändern

Nutzen Sie den Cache, um statische Daten oder Daten, die sich nicht oft ändern, zu speichern. Diese Daten werden zunächst über API-Aufrufe von Dritten oder lokal über SOQL-Abfragen abgerufen. Wenn sich die Daten ändern, speichern Sie diese Daten im Cache, sofern die Werte nicht durchgängig sehr genau sein müssen.

Es folgen Beispiele statischer Daten:

  • Fahrplan des ÖPNV
  • Fahrplan des Firmen-Shuttle-Busses
  • Überschriften von Registerkarten, die allen Benutzern angezeigt werden
  • Eine statische Navigationsleiste, die auf jeder Seite Ihrer Anwendung vorhanden ist
  • Der Einkaufswagen eines Benutzers, der während einer Sitzung gespeichert werden soll
  • Tägliche Momentaufnahmen von Wechselkursen (Kurse schwanken im Tagesverlauf)

Speichern von Daten nach komplexen Berechnungen

Werte, die das Ergebnis komplexer Berechnungen oder langer Abfragen sind, eignen sich besonders gut für die Speicherung im Cache. Es folgen Beispiele solcher Daten:

  • Gesamtumsatz der letzten Woche
  • Summe der von Mitarbeitern geleisteten Freiwilligenstunden
  • Rangfolge der Spitzenumsatzergebnisse

Hinweise zur Verwendung von Plattform-Cache finden Sie in Ihrem Code. Speichern Sie z. B. derzeit Anwendungsdaten, indem Sie einen Visualforce-Ansichtsstatus überladen? Diese gespeicherten Werte eignen sich alle für Plattform-Cache.

Nicht jeder Anwendungsfall ist ein Plattform-Cache-Anwendungsfall. Beispielsweise sind Daten, die sich häufig ändern und in Echtzeit vorliegen, wie z. B. Aktienkurse, nicht gut für die Zwischenspeicherung geeignet. Machen Sie sich auch mit den Einschränkungen von Plattform-Cache vertraut. Wenn beispielsweise auf Ihre Daten über Apex asynchron zugegriffen wird, können sie nicht in einem Cache gespeichert werden, der auf der Sitzung des Benutzers basiert.

Cache-Zuteilungen nach Edition

Plattform-Cache steht Kunden mit Enterprise Edition-Organisationen und höher zur Verfügung. Die folgenden Editionen verfügen standardmäßig über Cache-Speicherplatz. Aber oft führt das Hinzufügen von mehr Cache zu noch größeren Leistungsverbesserungen.

  • Enterprise Edition (standardmäßig 10 MB)
  • Unlimited Edition (standardmäßig 30 MB)
  • Performance Edition (standardmäßig 30 MB)
Hinweis

Hinweis

Der Plattform-Cache ist für Kunden mit Professional Edition nicht verfügbar.

Experimentieren mit Test-Cache

Sie können für Ihre Organisation zusätzlichen Cache erwerben. Um festzustellen, wie viel zusätzlicher Cache für Ihre Anwendungen von Vorteil wäre, können Sie Test-Cache beantragen und ausprobieren. Beantragen Sie außerdem für Professional Edition Test-Cache vor dem Kauf des Caches an. Verwenden Sie den Test-Cache in Ihrer Developer Edition-Organisation, um Ihre Anwendungen mit Plattform-Cache zu entwickeln und zu testen. Nach Genehmigung Ihres Antrags erhalten Sie 30 MB Test-Cache-Speicher (10 MB für Developer Edition). Wenn Sie mehr Test-Cache-Speicher benötigen, wenden Sie sich an Salesforce.

Welche Arten von Plattform-Cache gibt es?

Es gibt zwei Arten von Plattform-Cache: Organisations-Cache und Sitzungs-Cache.

Organisations-Cache

Im Organisations-Cache werden organisationsweite Daten gespeichert, die jeder in der Organisation verwenden kann. Auf Organisations-Cache kann in mehreren Sitzungen, Anforderungen und von mehreren Organisationsbenutzern und -profilen zugegriffen werden.

Beispielsweise können Wetterdaten zwischengespeichert und Kontakten an ihrem Standort angezeigt werden. Oder tägliche Momentaufnahmen von Wechselkursen können für die Verwendung in einer Anwendung zwischengespeichert werden.

Sitzungs-Cache

Sitzungs-Cache dient zum Speichern von Daten eines einzelnen Benutzers und ist an dessen Sitzung gebunden. Die maximale Dauer einer Sitzung ist 8 Stunden.

Angenommen, Ihre Anwendung berechnet die Entfernung vom Standort eines Benutzers zu allen Kunden, die der Benutzer am selben Tag besuchen möchte. Der Standort und die berechneten Entfernungen können im Sitzungs-Cache gespeichert werden. Wenn der Benutzer diese Informationen erneut erhalten möchte, müssen die Entfernungen nicht neu berechnet werden. Oder Sie haben eine Anwendung, mit der Benutzer die Reihenfolge der Navigationsregisterkarten anpassen und diese Reihenfolge beim Besuch anderer Seiten der Anwendung wiederverwenden können.

Wie hoch sind die Leistungszuwächse bei Verwendung des Caches?

Sie werden sich vielleicht fragen, wie viel Leistung Ihre Anwendung durch den Einsatz von Plattform-Cache gewinnt. Der Abruf von Daten aus dem Cache erfolgt viel schneller als über einen API-Aufruf. Beim Vergleich von SOQL mit Cache-Abrufzeiten ist der Cache auch wesentlich schneller als SOQL-Abfragen.

Die folgende Tabelle zeigt die Abrufzeiten von Daten über einen API-Aufruf und den Cache in Millisekunden. Der enorme Leistungszuwachs beim lokalen Abrufen von Daten über den Cache ist leicht zu erkennen, insbesondere beim Abrufen von Daten in mehreren Transaktionen. Bei dem in der Grafik verwendeten Beispiel ist der Cache hundertmal schneller als API-Aufrufe. In dieser Grafik betragen die Cache-Abrufzeiten nur wenige Millisekunden, werden aber aufgrund der für den Zeitwert verwendeten Skala als nahezu null angezeigt. Beachten Sie, dass diese Grafik ein Beispieltest ist und die tatsächlichen Zahlen für andere Anwendungen variieren können.

API-Aufrufe an externe Services sind langsamer (1) als der Abruf von Daten aus dem Cache (2).

Grafik mit Vergleich der Verarbeitungszeit von API-Aufrufen mit dem Cache

In dieser Grafik wird SOQL mit den Abrufzeiten aus dem Organisations- und Sitzungs-Cache verglichen. Wie Sie sehen können, ist SOQL langsamer als der Cache. Bei diesem Beispiel ist der Cache für den Datenabruf in einer einzigen Transaktion mindestens zweimal schneller als SOQL. Bei Abrufvorgängen in mehreren Transaktionen ist der Unterschied noch größer. (Beachten Sie, dass diese Grafik ein Beispiel ist und die tatsächlichen Zahlen für andere Anwendungen variieren können.)

Das Abrufen von Daten über SOQL-Abfragen (1) ist langsamer als das Abrufen von Daten aus dem Organisations- und Sitzungs-Cache (2).

Grafik mit Vergleich der Verarbeitungszeit von SOQL-Abfragen mit dem Cache

Was sind Cache-Partitionen?

Wie bereits erwähnt, können Sie mit Plattform-Cache Speicherplatz mithilfe von Partitionen zuteilen. Lassen Sie uns näher auf Partitionen eingehen. Mit Partitionen können Sie Cache-Speicherplatz zuteilen, um die Nutzung und Leistung zwischen Anwendungen in Einklang zu bringen. Das Zwischenspeichern von Daten in bestimmten Partitionen stellt sicher, dass der Cache-Speicherplatz nicht durch andere Anwendungen oder weniger kritische Daten überschrieben wird.

Bevor Sie Cache-Speicherplatz in Ihrer Organisation nutzen können, müssen Sie Partitionen erstellen, um festzulegen, wie viel Kapazität Sie für Ihre Anwendungen wünschen. Die Kapazität jeder Partition wird zwischen Organisations- und Sitzungs-Cache aufgeteilt. Zuteilungen von Sitzungs- und Organisations-Cache können 0 MB, 5 MB oder mehr betragen. Die Werte müssen ganze Zahlen sein. Die Mindestgröße einer Partition einschließlich der Zuteilung ihres Organisations- und Sitzungs-Caches ist 5 MB. Angenommen, Ihre Organisation hat insgesamt 10 MB Cache-Speicherplatz und Sie haben eine Partition mit insgesamt 5 MB angelegt. Dann sind 5 MB davon für den Sitzungs-Cache und 0 MB für den Organisations-Cache. Oder Sie können eine Partition mit 10 MB Speicherplatz erstellen, mit 5 MB für den Organisations-Cache und 5 MB für den Sitzungs-Cache. Die Summe aller Partitionszuteilungen, einschließlich Standardpartition, entspricht der Gesamtzuteilung von Plattform-Cache.

Die folgende Abbildung zeigt Diagramme der Cache-Kapazität und der Partitionszuteilung. In diesem Beispiel haben wir den Cache noch nicht genutzt, wie die 0 % Cache-Nutzung (1) zeigt, und es wurden zwei Partitionen mit gleichen Zuteilungen (2) erstellt.

Grafiken der Cache-Kapazität

Standardpartition

Sie können jede Partition als Standardpartition definieren, aber nur eine Standardpartition ist möglich. Die Standardpartition ermöglicht Ihnen die Nutzung von Kurznotationssyntax zum Anwenden von Cache-Vorgängen auf diese Partition. Das bedeutet, dass Sie beim Hinzufügen eines Schlüssel-Wert-Paares den Schlüsselnamen mit dem Namespace- und Partitionsnamen nicht vollständig qualifizieren müssen. Anstatt Cache.Org.put('namespace.partition.key', 0); aufzurufen, müssen Sie bloß Cache.Org.put('key', 0); aufrufen.

In der nächsten Einheit erstellen Sie im Setup eine Partition, um mit Plattform-Cache loszulegen!

Ressourcen

Ressourcen im Apex Developer Guide:

Ressourcen in der Salesforce-Hilfe:

Teilen Sie Ihr Trailhead-Feedback über die Salesforce-Hilfe.

Wir würden uns sehr freuen, von Ihren Erfahrungen mit Trailhead zu hören: Sie können jetzt jederzeit über die Salesforce-Hilfe auf das neue Feedback-Formular zugreifen.

Weitere Infos Weiter zu "Feedback teilen"