Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Für Rest-Abfragen, die keine Daten manipulieren (GET), steht ein Caching-Mechanismus zur Verfügung, der für definierte Parameter das Ergebnis einer REST-Page (also des dahinter liegenden Services mit definierten Parametern) zwischenspeichert. Dies ist vor Allem für performancehungrige oder zeitintensiven Abfragen sinnvoll. Um den Mechanismus zu nutzen, muss in der Tabelle Antwortcache lediglich ein Datensatz angelegt werden:

Feld

Beschreibung

Beispielwerte für Service “Karte”

optional

Seite

Die REST-Page, für die das Caching definiert wird

nein

Parameter

Die Parameter für den Service der REST-Page

id, locale

nein

Cache-Dauer

Die Dauer, für die der Cache auf Basis des Zeitstempels aktiv ist. Wird Bis zum nächsten Cron-Aufruf gewählt, ist der Cache so lange aktiv, bis der nächste Cron-Job zum automatischen Aufbau des Caches (s.u.) ausgeführt wird

1 Tag

nein

Query-Strings

Hier können Werte als Query-Strings definiert werden, für die durch einen Cron-Job der Cache zeitgesteuert vorgeneriert wird

id=1&locale=de_DE
id=2&locale=en_GB

ja

Info

Hinweis: Query-Strings müssen ohne URL-Encoding gepflegt werden.

...

In Einzelfällen kann es notwendig sein, den Cache zu umgehen, bspw. um zu überprüfen, ob der Antwortcache aktuell ist. Hierzu kann für alle Services, die per GET aufgerufen werden, der Parameter noCache=1 übergeben werden.

Events

...

Event

Beschreibung

\Brandbox\JoinRestful\Join\Restful\Lib\Event\OnPopulateCachedResponse

Das Event wird beim Ausführen des Cacheaufbaus via Cron-Endpunkt für jeden Antwortcache-Datensatz gefeuert.
Parameter:

  • $cachedResponse: das zu Grunde liegende Antwortcache-Entity

  • $page: die verwendete Seite

  • $profile: das verwendete Mappingprofil

  • $properties: Liste der verwendeten Feldmappings

Bestehende Subscriber:

  • \Brandbox\JoinRestful\Join\Restful\Lib\Subscriber\JoinRestfulSubscriber mit Priorität 700 befüllt $page, $profile und $properties anhand der initial gesetzten $cachedResponse

\Brandbox\JoinRestful\Join\Restful\Lib\Event\OnBuildQueryStringCache

Das Event wird beim Ausführen des Cacheaufbaus via Cron-Endpunkt für jeden Query-String aus dem zu Grunde liegenden Antwortcache-Datensatz gefeuert. Parameter:

  • $cachedResponse: das zu Grunde liegende Antwortcache-Entity

  • $page: die verwendete Seite

  • $parameters: Liste der aus dem Query-String extrahierten Parameter mit Werten (Name-Value-Pairs)

  • $profile: das verwendete Mappingprofil

  • $properties: Liste der verwendeten Feldmappings

  • $queryString: der zu Grunde liegende Query-String

  • $messages: Liste der Nachrichten, die der Cron-Endpunkt für das Cron-Log zurückliefert

Bestehende Subscriber:

  • \Brandbox\JoinRestful\Join\Restful\Lib\Subscriber\JoinRestfulSubscriber mit Priorität 700 setzt \Brandbox\JoinRestful\Join\Restful\ContextProvider

  • \Brandbox\JoinRestful\Join\Restful\Lib\Subscriber\JoinRestfulSubscriber mit Priorität 600 baut den Cache auf