Schlagwort-Archive: CMemCache

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.