Deutscher Support > Generelle Fragen
Frage zum dem Cache
Michael:
Hallo
wir haben unser Projekt komplett in vLib realisiert vor einem Jahr, und sind auch sehr zufrieden, jetzt haben wir allerdings sehr viel Traffic auf unseren Seiten, und deshalb würde ich gerne die Cache funktion nutzen.
Leider habe ich hier keine Hinweise gefunden, wie man seine Seite aufbaut um den Cache zu nutzen:
--- Code: ---/* Created on: 30.11.2006 */
include(vLIB/vlibTemplate.php);
$tmpl = new vlibTemplateCache(template/test.htm,$options);
$test = "Testeintrag zum ausprobieren";
$tmpl->setVar(testausgabe,$test);
$tmpl->setCacheLifeTime(604800);
$tmpl->setCacheExtension(txt);
$tmpl->pparse();
--- End code ---
hiermit wird dann auch ein cache file erstellt der dann alles drin hat was im template test.htm an html code beinhaltet
Meine Frage ist, das was ich oben als code geschrieben habe soweit in Ordnung ??? und wie verhält sich das ganze
noch wegen dem $tmpl->ClearCache(); wann und wo wird der eingesetzt, und was hat es mit der Variable $options auf sich.
Wäre nett, wenn Ihr ein paar Tipps hättet
Gruß
Michael
ClausVB:
Bitte die Dokumentation lesen, danke!
Ich benutze vlibTemplateCache nie, obwohl es einen enormen Performance-Zuwachs bringt. Mich stört der benötigte "chmod" bei jeder neuen Installation.
Hier meine Beispiele:
--- Code: ---function vlib_1_2()
{
$tpl = new vlibTemplateCache(vlib/test_1_1.html);
for ($i = 0; $i < 5; $i++)
{
$tpl->setvar("var$i", VLIB . mt_rand());
}
$tpl->pparse();
}
function vlib_2_1()
{
global $loop;
$tpl = new vlibTemplateCache(vlib/test_2_1.html);
$tpl->setLoop(loop, $loop);
$tpl->pparse();
}
--- End code ---
Zusätzlich gibt es hier im englischen Forum auch noch eine Information, dass "recache" nicht mehr gebraucht wird. Wenn sich das Template ändert wird neu geparst.
Bitte die Suchfunktion benutzen, danke!
Gruß
Claus
Michael:
Hallo ClausVB
ich bin genauso schlau wie vorher, die dokumentation muß ich nicht lesen, die habe schon lange in ausgedruckter Form vorliegen, da habe ich gestern als erstes reingeschaut.
wenn ich alles richtig verstanden habe, wird doch ohne hin nur das gecached was in den templates steht, sprich der html code, mir ist nun gestern aufgefallen, das zwar ein cache file erstellt wird, sobald ich aber etwas in dem template file ändere, das neue sofort aber wieder angezeigt wird, dies dürfte ja eigentlich gar nicht passieren, den ich hatte ein setCacheLifeTime(604800) eingestellt von einer woche, also wurde doch überhaupt nicht das cache file angezeigt sondern das template.
Bei Smarty müßte ich erst einmal den Cache file löschen bevor ich eine Änderung auf der seite sehen könnte, dies wäre ja dann auch korrekt, irgendwie beschleicht mich das Gefühl das hier niemand TemplateCache mit VLib am laufen hat.
Und mit dem Beitrag über das recache meintest du sicher diesen beitrag /forum/index.php/topic,159.0.html den hatte ich auch bereits gestern gelesen, mir ist dabei nicht ganz klar wie man dies in sein bestehendes System einbindet.
Eventuell ist es vielleicht doch besser alles auf Smarty umzustellen, wenn die Cache funktion in vLib so schwierig ist.
EIne Frage noch, wieso jedes mal neu chmoden ??? Installation ???
Gruß
Michael
Michael:
achso hatte ich doch glatt vergessen, was hat es mit der Variable $options auf sich:
$tmpl = new vlibTemplateCache(template/test.htm,$options);
hatte ich ja schon in meiner ersten frage stehenm hast du sicherlich übersehen, so steht es jedenfalls ja in der dokumentation drin
ClausVB:
Zur Frage mit den Options:
--- Code: ---/**
* FUNCTION: vlibTemplate
*
* vlibTemplate constructor.
* if $tmplfile has been passed to it, it will send to $this->newTemplate()
*
* @param string $tmplfile full path to template file
* @param array $options see above
* @return boolean true/false
* @access private
*/
(...)
if (is_array($options)) {
foreach($options as $key => $val) {
$key = strtoupper($key);
if ($key == PATH) {
$this->setPath($val);
}
else {
$this->_setOption($key, strtolower($val));
}
}
}
--- End code ---
Laut Doku: "Please see the OPTIONS section for further details of how you can configure your own cache system. "
Mehr kann ich dazu nicht sagen.
--- Quote ---den ich hatte ein setCacheLifeTime(604800) eingestellt von einer woche
--- End quote ---
Die Methode habe ich noch nie benutzt. Ich kann somit nicht weiterhelfen.
--- Quote ---irgendwie beschleicht mich das Gefühl das hier niemand TemplateCache mit VLib am laufen hat.
--- End quote ---
Ich habe es nicht im Einsatz und ich bin der einzige, der hier antwortet. Wie Smarty cached weiß ich nicht, aber "chmod" (Schreibrechte) für "templates_c" sind auch hier bei jeder Neuinstalltion notwendig.. Beim CMS "Papoo" (Template Engine: Smarty) sind das bis zu zehn Verzeichnisse. Mich nervt das gewaltig. Würde ich vlibTemplateCache einsetzen müsste ich auch bei jeder Installation unter Linux, die Schreibrechte beachten. Ohne Schreibrechte kein Caching, deswegen verwende ich das nicht. Die 20 Millisekunden haben meine Besucher Zeit auf die Seite zu warten. ;D
--- Quote ---mir ist dabei nicht ganz klar wie man dies in sein bestehendes System einbindet.
--- End quote ---
Wie der Post dort schon aussagt, ist die genannte Funktionalität bereits umgesetzt. Der Post ist von 2003. Das bedeutet jedes Release nach dem 15. Mai 2003 hat dieses Feature enthalten. Mit jeder Änderung des Templates wird auch neu gecached. Caching funktioniert also hervorragend mit vLIB.
--- Quote ---Eventuell ist es vielleicht doch besser alles auf Smarty umzustellen, wenn die Cache funktion in vLib so schwierig ist.
--- End quote ---
Smarty cached unter Windows auf jeden Fall schneller als vLIB. Auf Linux ist jedoch vLIB manchmal schneller. Wenn die Caching-Features jedoch besser sind, stell ruhig auf Smarty um. Bedenke jedoch, dass unter Smarty mit dem Unix-Timestamp gearbeitet wird, und das führt auf manchen Plattformen dazu, dass ein Datum vor 1970 und nach 2038 nicht auf deutsch ausgegeben werden kann. Mit vlibDate ist das kein Problem. Außerdem fehlt bei Smarty die RDBMS Unterstützung völlig. Auf Methoden wie "setdbloop" musst Du also verzichten.
Gruß
Claus
Navigation
[0] Message Index
[#] Next page
Go to full version