|
Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon. |
|
View previous topic :: View next topic |
Author |
Message |
routeserver Smarty n00b
Joined: 02 Jan 2005 Posts: 1
|
Posted: Sun Jan 02, 2005 2:43 am Post subject: Caching von dynamischen Inhalten |
|
|
Guten Tag,
ich bin neu bei Smarty und benutze derzeit noch ein anderes Template-System, habe aber wechsel-Ambitionen.
Mich interessiert, ob folgendes möglich ist.
Ich habe ein Forumsystem mit über 1 Mio Einträgen. Diese sollen durch ein Cache-System beschleunigt werden. Ich würde dazu bestimmte komplett individuelle Teile ungecacht lassen, andere z.b. die Postings cachen. Aber auch im gecachten Teil müssen noch ein paar Sachen dynamisch bleiben, z.b. Die SID in den Links oder das kleine "online" Symbol, wenn die Autoren der Nachricht gerade online sind.
Jetzt kommt die Frage
Ist es möglich (komplex zu bauende) HTML-Blöcke zu cachen und sie bei Abruf dann mit wenigen aktuellen Variablen zu ergänzen, ohne komplett neu zu bauen?
Wenn ja, wie?
Gruß
Jörg |
|
Back to top |
|
coach Smarty Regular
Joined: 03 Jun 2004 Posts: 65
|
Posted: Mon Jan 10, 2005 4:44 pm Post subject: Re: Caching von dynamischen Inhalten |
|
|
Hi,
routeserver wrote: |
Mich interessiert, ob folgendes möglich ist.
Ich habe ein Forumsystem mit über 1 Mio Einträgen. Diese sollen durch ein Cache-System beschleunigt werden. Ich würde dazu bestimmte komplett individuelle Teile ungecacht lassen, andere z.b. die Postings cachen. Aber auch im gecachten Teil müssen noch ein paar Sachen dynamisch bleiben, z.b. Die SID in den Links oder das kleine "online" Symbol, wenn die Autoren der Nachricht gerade online sind.
|
Mit der SID mache ich folgendes: Ich cache eine Version mit einem SID-Platzhalter und hole die Version dann später aus dem Cache und mache vor der Ausgabe ein . Das "online"-Symbol könntest du sicher ähnlich machen, aber mit Javascript müßte das doch auch super gehen. Oder alternativ mit einem Bild, je nach Status also ein Redirect auf online.gif oder offline.gif.
routeserver wrote: |
Jetzt kommt die Frage
Ist es möglich (komplex zu bauende) HTML-Blöcke zu cachen und sie bei Abruf dann mit wenigen aktuellen Variablen zu ergänzen, ohne komplett neu zu bauen?
|
Ich habe Blöcke meiner Seite im Cache bzw. kann auch dynamische Teile innerhalb meiner gecacheten Seite ausgeben.
Coach |
|
Back to top |
|
ZakMc Smarty Pro
Joined: 04 Oct 2004 Posts: 182
|
|
Back to top |
|
coach Smarty Regular
Joined: 03 Jun 2004 Posts: 65
|
Posted: Wed Jan 12, 2005 10:20 pm Post subject: |
|
|
Diese Funktion gibt ja theoretisch, falls caching nicht eingeschaltet ist, jedesmal einen neu berechneten Schnipsel zurück (z.B. für Werbebanner).
Wenn ich routeserver richtig verstehe, wollte er z.B. einen Top 10 Schnipsel auf verschiedenen Seiten ausgeben, der dann aber nur beim ersten Aufruf berechnet wird und in den Cache gelegt wird. Das heißt also auch, daß die Hauptseite z.B. 1 Tag im Cache liegen soll, der Schnipsel aber nur 1 Stunde gültig ist.
Ich stehe demnächst vor dem selben "Problem" und wollte dann mittels Insert oder einem Plugin ein Smarty im Smarty aufrufen. D.h. auch mein Schnipsel-Code soll eine Smarty-Instanz anlegen oder ich kann die alte nutzen und dann gucken, ob der Schnipsel schon im Cache liegt und bei Bedarf neu berechnen.
Alternativ - fällt mir gerade ein - prüft mein Code: | include "app_top.php" | , ob alle möglichen Schnipsel im Cache sind. Mein Insert oder Plugin nimmt dann bloß noch den Schnipsel aus dem Cache (Fehler beim Erzeugen des Schnipsels werden ignoriert). Damit könnte ich dann evtl. mehrfache DB-Connects vermeiden, die ja in jedem Schnipsel durchgeführt werden müßten; andererseits habe ich Schnipsel im Cache, die evtl. "nie" angezeigt werden.
Was anderes, kann man eigentlich so etwas wie "interne" http-Requests mittels PHP machen, also so etwas wie Schnipsel-Code macht ein
Code: | include 'http://meinserver.de/fragmente/top100.php'; |
o.ä.? Ich weiß aber nicht genau, wie der Ablauf bei "ein Script auf meinserver.de ruft URL von meinserver.de auf". Muß ja nicht sein, dass diese Anfrage über X Server läuft.
Coach |
|
Back to top |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|