Smarty Forum Index Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon.

Caching von dynamischen Inhalten

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Smarty Forum Index -> Language: German
View previous topic :: View next topic  
Author Message
routeserver
Smarty n00b


Joined: 02 Jan 2005
Posts: 1

PostPosted: Sun Jan 02, 2005 2:43 am    Post subject: Caching von dynamischen Inhalten Reply with quote

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 Smile
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
View user's profile Send private message
coach
Smarty Regular


Joined: 03 Jun 2004
Posts: 65

PostPosted: Mon Jan 10, 2005 4:44 pm    Post subject: Re: Caching von dynamischen Inhalten Reply with quote

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
Code:
str_replace
. 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 Smile
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
View user's profile Send private message
ZakMc
Smarty Pro


Joined: 04 Oct 2004
Posts: 182

PostPosted: Wed Jan 12, 2005 8:13 am    Post subject: Reply with quote

Schau Dir mal den Link an, ich glaube das ist was Du suchst

http://smarty.php.net/manual/de/language.function.insert.php
Back to top
View user's profile Send private message
coach
Smarty Regular


Joined: 03 Jun 2004
Posts: 65

PostPosted: Wed Jan 12, 2005 10:20 pm    Post subject: Reply with quote

ZakMc wrote:
Schau Dir mal den Link an, ich glaube das ist was Du suchst

http://smarty.php.net/manual/de/language.function.insert.php


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
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Smarty Forum Index -> Language: German All times are GMT
Page 1 of 1

 
Jump to:  
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
Protected by Anti-Spam ACP