Speichern von Ergebnissen im Cache
Durch Zwischenspeicherung kann die Antwortzeit sowie die Server-Auslastung bei Web Service-Aufträgen reduziert werden. Wenn das Ergebnis eines Auftrags im Cache gespeichert wird, bedeutet dies, dass FlowForce Server das Auftragsergebnis in einem internen Speichersystem (dem Cache) vorbereitet und speichert. Wenn der Auftrag Parameter hat, erstellt das System für jede Parameterkombination einen Cache-Eintrag. Wenn der Auftrag mit einem zwischengespeicherten Ergebnis durch einen anderen Auftrag (den Consumer aufgerufen wird), übergibt FlowForce Server das zwischengespeicherte Ergebnis an den Consumer (anstatt den Auftrag nochmals auszuführen), wodurch die Antwortzeit reduziert wird.
Beachten Sie beim Arbeiten mit zwischengespeicherten Auftragsergebnissen folgende Punkte:
•Der Rückgabetyp eines Auftrags, dessen Ergebnis im Cache gespeichert wird, muss unbedingt deklariert werden.
•Sowohl der Auftrag, dessen Ergebnis im Cache gespeichert wird, als auch der Consumer-Auftrag müssen dieselben Anmeldeinformationen verwenden. Bei unterschiedlichen Anmeldeinformationen wird der Auftrag so ausgeführt, als wäre kein Cache definiert.
•Wenn Sie die Konfiguration des zwischengespeicherten Auftrags ändern, werden die im Cache vorhandenen Daten ungültig.
Beispiele dafür finden Sie unter Speichern von Auftragsergebnissen im Cache.
Cache-Einstellungen
In der Abbildung oben sehen Sie den Abschnitt Cache-Ergebnis der Konfigurationsseite. Es stehen die folgenden Einstellungen zur Verfügung.

Aktivieren Sie dieses Kontrollkästchen, wenn die Ergebnisse des Auftrags im Cache gespeichert werden sollen. Dadurch weisen Sie alle Consumer des aktuellen Auftrags an, das zwischengespeicherte Ergebnis zu verwenden, anstatt den Auftrag auszuführen. Wenn der aktuelle Auftrag direkt (und nicht über einen Consumer) ausgeführt wird, weil z.B. entweder ein definierter Trigger ausgelöst wurde oder weil der Web-Dienst des Auftrags aufgerufen wurde, aktualisiert FlowForce Server den Cache. Wenn die Auftragsparameter im Cache nicht gefunden werden, wird ein neuer Cache-Eintrag auf Basis der bereitgestellten Parameterkombination erstellt.
|
Wenn diese Option aktiviert ist, berechnet jeder Auftrag, der den aktuellen Auftrag aufruft (d.h. der Consumer-Auftrag) das Cache-Ergebnis und befüllt den Cache, falls keines vorhanden ist. Andernfalls befüllen nur Trigger und Web-Dienst-Aufrufe den Cache.
|
Mit dieser Option wird die Anzahl der pro Auftrag im Cache zwischengespeicherten Ergebnisse eingeschränkt. Wenn der Auftrag Parameter hat, sollten Sie hier eventuell die Anzahl aller möglichen Parameterkombinationen definieren.
|
Ein Zwischenspeicherauftrag ist ein Web-Dienst unter der von Ihnen angegebenen HTTP-Adresse. Der Consumer Web-Dienst bildet eine praktische Methode, um den Cache des Auftrags, dessen Ergebnis zwischengespeichert wird, abzurufen und zu verwalten. Bei Aufruf versucht der Consumer-Auftrag zuerst, das zwischengespeicherte Ergebnis des Hauptauftrags zu verwenden. Wenn kein zwischengespeichertes Ergebnis vorhanden ist und die Option Vom Consumer initiiert deaktiviert ist, ruft der Consumer das tatsächliche vom Hauptauftrag zurückgegebene Ergebnis auf. Wenn kein zwischengespeichertes Ergebnis vorhanden ist und die Option Vom Consumer initiiert aktiviert ist, ruft der Consumer das tatsächliche vom Hauptauftrag zurückgegebene Ergebnis auf und befüllt gleichzeitig den Cache damit.
|
Der "Cache aktualisieren"-Timer (siehe unten) steuert, wie oft das System den Cache des aktuellen Auftrags aktualisieren soll. Es werden alle aktuell zwischengespeicherten Parameterkombinationen aktualisiert. ![]() |
Der "Cache leeren"-Timer (siehe unten) steuert, wie oft das System den Cache des aktuellen Auftrags leeren soll. ![]() |
Klicken Sie auf diese Schaltfläche, um den Cache manuell zu aktualisieren. Die Schaltfläche befindet sich am unteren Rand der Konfigurationsseite.
|
Wenn Sie "Cache aktualisieren" und "Cache leeren"-Timer löschen möchten, klicken Sie auf die Schaltfläche . Über die Schaltfläche
(Duplizieren) können Sie eine Kopie des aktuellen Triggers mit denselben Einstellungen erstellen.