Yii memcached als Cache verwenden

Um Inhalte die sich seit dem letzten Zugriff nicht geändert haben, nicht immer wieder neu zu generieren oder aus der Datenbank zu holen, kann man Caching verwenden. Dafür gibt es verschiedene Möglichkeiten. Hier wird eine Cache im Hauptspeicher verwendet.

Umgesetzt wird der Cache von memcached (Nachfolger von memcache).

Nach der Installation, dem Konfigurieren und Starten des memcached geht man in Yii folgendermaßen vor:

Man ändert in der Konfiguration folgendes:

...
// Application components
'components' => array(
....
'cache'=>array(
'class'=>'system.caching.CMemCache',
'useMemcached' => true,
'servers'=>array(
		array('host'=>'localhost', 'port'=>11211, 'weight'=>60),
	),
				
),
'db' => array(
				'connectionString' => 'mysql:host=DEVELOPMENT_HOST;dbname=DEVELOPMENT_DB',
				'username' => 'USERNAME',
				'password' => 'PASSWORD',
				'enableParamLogging' => true,
                                'schemaCachingDuration'=>3600,
			),
...
),
...

Nun kann man den Cache verwenden.

Es bietet sich zum Beispiel an, das Schema der Datenbank zu cachen und nicht immer mit

show create table NAME;

dieses neu zu holen.
Siehe dafür in der Konfiguration oben ’schemaCachingDuration’=>3600.

Dieser Beitrag wurde am von in Tutorials veröffentlicht. Schlagworte: , , , .

Über Kai

Ich habe Informatik im Masterstudiengang an der Universität Stuttgart studiert. Im Studium habe ich, wie mein Kollege und Kommilitone, die Vertiefungslinien "Theoretische Informatik und Wissenschaftliches Rechnen" und "Visualisierung und Interaktive Systeme" belegt. Auch in meiner Freizeit beschäftige ich mich oft mit Softwareentwicklung, im Speziellen der Softwarearchitektur, sowie mit der, teils ehrenamtlichen, Betreuung und Weiterentwicklung von Webplattformen. Darüberhinaus gehe ich dem Leistungssport Schwimmen nach, um für einen gesunden Ausgleich mit Sport zu sorgen. Mehr über mich unter kmindi.de.