Cache Architektur
Der Shop holt Produktdaten normalerweise (kann zwar per Parameter ausgeschalten werden, ist aber nicht verfügbar) nicht aus der Datenbank, sondern aus einem eigenen Speicherbereich. In diesen Bereich werden alle Produkte beim Start der Anwendung in eine Hash-Tabelle geladen, damit sie später schnell abgerufen werden können. Damit werden die Anzahl der lesenden Requests gegen die Datenbank deutlich reduziert.
Zusätzlich werden beim Einlesen bereits Verknüpfungen auf andere Objekte hergestellt (z.B. Kategorien, Merkmale, etc.) und können damit ebenfalls schnell im Seiten verwendet werden.
Aktualisieren des Caches
Die Idee des Caches ist, das Produktdaten selten geändert werden - zumindest im Vergleich zu den lesenden Abrufen durch Kunden und Suchmaschinen.
Der Cache wird automatisch beim Starten der Anwendung aufgebaut. Da die ASP.NET Applikation beim Ändern von .dlls und .config Dateien neu gestartet wird, wird auch dann der Cache neu geladen.
Zusätzlich gibt es System-Urls, die ebenfalls das Neuladen des Caches auslösen:
Url | Funktion |
|---|---|
/system/cache/clear | Lädt den gesamten Cache neu |
/system/cache/blog | Lädt nur die Blog Beiträge neu |
/system/cache/products | Lädt die Produktdaten neu |
/system/cache/config | Lädt die Konfiguration neu |
/system/cache/pages | Lädt die CMS Seiten und Navigation neu |