Sven Rautenberg: Schnittstellen cachen

Beitrag lesen

Moin!

Ich habe das so gelöst, dass alle Methoden, die den Datenbestand ändern, eine Methode aufrufen, die den Cache neu erzeugt (bei mir ging es um Statistiken aber das sollte keine Rolle spielen).

Das funktioniert ja nur dann, wenn Änderungen ausschließlich durch die abfragende Seite, die auch den Cache verwaltet, vorgenommen werden. Wenn durch andere Wege Änderungen am Datenbestand vorgenommen werden (und das Stichwort CMS legt sowas irgendwie nahe), dann funktioniert diese Methode nicht.

Letztendlich muß man sagen: Caching funktioniert üblicherweise nach einer von zwei Methoden.

1. Man definiert, dass die einmal abgefragten Daten unabhängig von einer Veränderung des Originals einfach eine gewisse Zeit lang gültig sind, und erst nach Ablauf einer Zeitdauer neu nachgefragt werden. Je nach Abfrageszenario kann ja schon eine Minute Gültigkeit ausreichend sein, um statt tausend Requests in dieser Minute an die Datenbank nur jeweils einen einsetzen zu müssen. Die Daten wären dann maximal 59 Sekunden lang veraltet.

2. Alternativ muß der Datenlieferant in der Lage sein, die Gültigkeit der bisherigen Daten zu bestätigen. Man fragt "Ich hab hier Daten von $DATUM, sind die noch gültig, oder gibts was neueres", und die Datenbank antwortet dann entsprechend. Das wird sich, weil sich dieser Mechanismus jenseits der Schnittstelle befindet, nicht einsetzen lassen.

- Sven Rautenberg

--
"Love your nation - respect the others."