Caching is ein großes Thema für websites, die erfolgreich sind. Ein Grund, warum Drupal so erfolgreich ist, ist die Art, wie das Caching funktioniert.
- alle Seiten für anonyme Benutzer werden in Drupal gecached
- Das Menü System wird für jeden Benutzer gebaut (build) und dann gecached
- Die Website Konfiguration wird gecached ($conf)
- Gefilterte Inhalte werden gecached (z:B.. BB Code)
Drei Functionen sind dabei wichtig
Ein paar Tabellen werden benötigt
- cache_...
Gecachete Daten werden als Typ String abgespeichert, Arrays und Objekte müssen serialisiert werden (In Drupal 6 läuft das hinter den Kulissen automatisch ab)
Jetzt zeigter, was Caching in der realität bedeutet
Seiten caching:
Er benutzt das devel Module um jede Menge Daten zu erzeugen spielt ein wenig mit den Cache Einstellungen. The DB Abfragen gehen bei angemeldeten Benutzer runter von 181 queries aufo 138 queries. Bei anonymen Benutzers reduziert sich das von 134 queries auf 10 queries!
Drupal bietet normales und aggressives caching. Das aggressive Caching funktioniert nicht mit allen Modulen!
Eine andere Möglichkeit ist das Memcache module
Es speichert alles im Haupspeicher des Computers. Das ist die schnellste Möglichkeit Daten zu cachen! Um das Modul zu benutzen, müssen in der settings.php folgende Variable definiert werden.
$conf = array(
'cache_inc' => './sites/all/modules/memcache/memcache.inc',
);
Redundant Cache
Um redundante Caches zu vermeiden ist es möglich die Caches für mehrere Maschinen zusammenzufassen.
Was brauche ich auf meinem Server, damit das läuft
Man benötigt Memcached und die PECL Memcache library um es zum Laufen zu bringen.
Eine andere Möglichkeit
ist das advanced cache module. Es benötigt kein memcache. Es hat einen anderen Ansatz. Fall ihr Ideen zu diesem Ansatz habt, Robet ist froh über jegliche Hilfe.






