La mise en cache

La mise en cache est un moyen pas cher et efficace pour améliorer les performances d'une application Web. En stockant les données relativement statiques dans le cache et en le signifiant à partir du cache à la demande, nous économisons le temps nécessaire pour générer les données.

Utilisation du cache dans Yii concerne principalement la configuration et l'accès à un composant de l'application cache. La configuration de l'application suivant spécifie un composant de cache qui utilise memcache avec deux serveurs de cache.



Lorsque l'application est en cours d'exécution, le composant de cache peut être consulté via Yii::app()->cache.

Yii fournit des composants de cache différentes qui peuvent stocker des données mises en cache dans différents médias. Par exemple, le composant CMemCache encapsule l'extension PHP memcache et utilise la mémoire comme support de mémoire cache, le composant CApcCache encapsule l'extension PHP APC et le composant CDbCache stocke les données en mémoire cache dans la base de données de composants. Ce qui suit est un résumé des éléments de cache disponibles :

Acstuce : Parce que tous ces composants cache s'étendent de la même classe de base CCache, on peut passer d'utiliser un autre type de cache sans modifier le code qui utilise le cache.

La mise en cache peut être utilisé à différents niveaux. Au niveau le plus bas, nous utilisons cache pour stocker un seul morceau de données, comme une variable, et nous appelons cela la mise en cache des données. Au niveau suivant, on stocke dans la mémoire cache d'un fragment de page qui est généré par une partie d'un script de vue. Et au plus haut niveau, nous enregistrons une page entière dans le cache et le servir de la mémoire cache en fonction des besoins.

Dans les prochains paragraphes, nous élaborons comment utiliser le cache à ces niveaux.

Remarque : Par définition, le cache est un support de stockage volatile. Il ne garantit pas l'existence des données mises en cache même si elle n'expire pas. Par conséquent, ne pas utiliser le cache comme un stockage persistant (Par exemple : ne pas utiliser le cache pour stocker les données de session).

$Id$