Patrick Figel: Optimierung für große Nutzerzahlen

Beitrag lesen

Sieh dir die Zend_Cache-Klassen aus dem Zend Framework an.
Damit ist es sehr einfach, bestimmte Teile deiner Seite (am besten die mit den komplexesten Abfragen) zu cachen.
Über das Backend kannst du einfach die Art, wie bzw. wohin der Cache-Inhalt gespeichert wird, bestimmen - zur Auswahl stehen verschiedene Möglichkeiten, zB Files, SQLite, Memcached (sehr schnell) usw.
Das Frontend bestimmt Inhalt und Lebensdauer des Caches - mit Zend_Cache_Frontend_Page kannst du zB ganze Seiten, mit Zend_Cache_Frontend_Output teile deiner Seite zwischenspeichern, mit Zend_Cache_Frontend_Core das Ergebnis einer Datenbankabfrage, etc.
Wenn du zB den Besucherzähler cachen willst, sieht das in etwa so aus:

  
$frontendOptions = array(  
   'lifetime' => 600, // Lebensdauer des Caches 10 Minteun  
   'automatic_serialization' => false  
);  
  
$backendOptions = array(  
    'cache_dir' => './tmp/' // Verzeichnis, in welches die Cache Dateien kommen  
);  
  
// Ein Zend_Cache_Output Objekt erzeugen  
$cache = Zend_Cache::factory('Output',  
                             'File',  
                             $frontendOptions,  
                             $backendOptions);  
// Wir übergeben eine eindeutige Identifizierung an die start() Methode  
if(!$cache->start('visitors')) {  
    //Abfragen der Besucherzahlen und anschließende Ausgabe  
    $cache->end(); // Die Ausgabe wird gespeichert und zum Browser gesendet  
}