Zum Inhalt springen

suchergebnisse cachen

Erstellt am 30. März 2007 · 9 Antworten · letzte Antwort am 5. Juni 2007

Tags: Cache & Performance, Frage

lemmork ·

Hallo,

ich habe eine Frage zum caching.
In meiner Extension habe ich Daten, die ich durchsuchen möchte. Dafür habe ich ein Formular, in dem man neben dem Suchbegriff noch weitere Kriterien eingeben kann um die Ergebnisse zu verfeinern.
Die Formulardaten übergebe ich als POST-Parameter und ich benötige ein hidden-Feld no_cache mit value 1, damit die Suche überhaupt funktioniert.
So werden die Ergebnisse allerdings nicht gecached. Da sich mein Datenbestand allerdings selten ändert würde ich es ganz schön finden, wenn ich die Suchanfragen mit identischen Parametern aus dem Cache holen könnte.
Ist dies irgendwie möglich, und wenn ja wie?

Danke

lemmork ·

Hallo steffenk,

kannst du kurz erklären, was das bedeutet? Oder hat du ein Beispiel/Doku dafür?

Viele Grüße

steffenk ·

kurzes Beispiel:

<form action="###ACTION###" .....
$markerArray['###ACTION###']=$this->pi_linkTP_keepPIvars_url(array(),1);

die Funktion liefert Dir eine Url mit cHash.

lemmork ·

Sobald ich no_cache entferne bleibe ich immer auf der Formularseite.

Wenn ich in den Quelltext schaue, dann steht in der action
index.php?id=497

müsste dort nicht sowas wie z.B.
index.php?id=497&cHash=...
stehen?

steffenk ·

stimmt, der cHash orientiert sich an piVars.

$this->pi_linkTP_keepPIvars_url(array('t'=>time()),1)

wäre ein Workarround, alledings befürchte ich, das auf die Art die cHash-Tabelle gefloodet wird. Aber es wird ein cHash generiert.

Tevsa ·

Hallo,

ich weis nicht ob es dir hilft, aber ddu kannst ja einstellen wie lange der Cache "halten soll"

config.additionalHeaders = Cache-Control: max-age=3600, must-revalidate

Lieben Gruß
Tevsa

steffenk ·

sowohl in der ECT-Liste als auch momentan in der dev-Liste laufen Diskussionen über das caching-Verhalten. Das thema ist nicht nur komplex, es wird auch überlegt, wie man zukünftig das caching besser handhaben kann.

Eigentlich macht es mehr Sinn, eine Komplettliste auszugeben, die gecachet wird, und die Suche ungecashet zu belassen.

lemmork ·

Das scheint ja tatsächlich ein komplexeres Thema zu sein.

Erstmal vielen Dank für die Antworten.
Ich denke, dass ich die Suchausgabe wohl doch erstmal ungecached lasse.
Ich kenne andere Systeme, die für die Suchergebnisse eigene cache-Tabellen verwenden. Vielleicht ist das ja auch eine Variante, die für typo ganz interessant ist.

einpraegsam.​net ·
steffenk schrieb

kurzes Beispiel:

<form action="###ACTION###" .....
$markerArray['###ACTION###']=$this->pi_linkTP_keepPIvars_url(array(),1);

die Funktion liefert Dir eine Url mit cHash.

Immer wieder hilfreich... 🙂