it-swarm.com.de

Caching benutzerdefinierter Komponenten

Ich habe eine benutzerdefinierte Immobilien-/Informationskomponente für eine militärbezogene Website. Es gibt ungefähr 220 militärische Installationen, die von meiner Komponente abgedeckt werden, und für jede Installation biete ich die gleichen Layouts mit installationsspezifischen Daten für jede an. Meine Frage ist über das richtige Zwischenspeichern. Derzeit befinden sich ca. 450.000 Eigenschaften in der Datenbank. Jede Eigenschaft verfügt über ein Schlüsselfeld, das festlegt, für welche Installation diese Eigenschaft angezeigt werden soll. Einige der größeren Installationen verfügen möglicherweise über 6-7.000 Eigenschaften für diese einzelne Basis.

Ich habe das Caching für meine Site aktiviert, aber meine Frage ist, ob das Seiten-Caching in Joomla oder das com_content-Caching meine benutzerdefinierte Komponente abdeckt.

Ich vermute, das Fleisch und die Kartoffeln dieser Frage sind: Sollte ich Methoden einbeziehen, um meine benutzerdefinierten Komponentenseiten/Layouts zwischenzuspeichern, oder zwischenspeichert Joomla diese automatisch als Seiten-Caches? Wenn ich Caching-Code für meine Komponente einschließen muss, können Sie mich in die Richtung weisen, in die ich gehen muss, um das Caching einzuschließen.

4
Terry Carter

Aus den von mir durchgeführten Tests geht hervor, dass das Seiten-Caching nicht zwischen Elementen in einem Layout unterscheidet. Beispiel: Ein Suchformular auf einer Seite, das Sitzungsvariablen verwendet, um die Felder zu füllen, nachdem eine Suche durchgeführt wurde. Die Suche selbst gibt keine neuen Werte zurück, wenn das Formular gesendet wird, und das Modell auch nicht. Ich kann sehen, wo das Zwischenspeichern von statischen Inhalten wie erwartet funktionieren würde, aber bei dynamisch filternden Inhalten glaube ich nicht, dass das Zwischenspeichern funktionieren wird.

Vielleicht erlaubt eine zukünftige Version von Joomla, dass bestimmte Methoden/Funktionen beim Cachen übersprungen werden, aber im Moment sehe ich keinen anderen Weg, dies zu umgehen.

1
Terry Carter