Yii Framework Official Guide Series 28 - Mise en cache : présentation

黄舟
Libérer: 2023-03-05 18:18:02
original
1077 Les gens l'ont consulté



La mise en cache est un moyen simple et efficace d'améliorer les performances des applications Web. En stockant des données relativement statiques dans le cache et en les récupérant lorsqu'une requête est reçue, nous économisons le temps nécessaire à la génération de ces données.

L'utilisation de la mise en cache dans Yii implique principalement la configuration et l'accès à un composant applicatif. La configuration d'application suivante configure un composant de cache qui utilise deux serveurs de cache Memcache.


array(
    ......
    'components'=>array(
        ......
        'cache'=>array(
            'class'=>'system.caching.CMemCache',
            'servers'=>array(
                array('host'=>'server1', 'port'=>11211, 'weight'=>60),
                array('host'=>'server2', 'port'=>11211, 'weight'=>40),
            ),
        ),
    ),
);
Copier après la connexion

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

Yii fournit différents composants de mise en cache qui peuvent stocker les données mises en cache sur différents supports. Par exemple, le composant CMemCache encapsule l'extension Memcache de PHP et utilise la mémoire comme support de stockage de cache. Le composant CApcCache encapsule l'extension PHP APC ; et le composant CDbCache stocke les données mises en cache dans la base de données. Voici une liste des composants de mise en cache disponibles :

  • CMemCache : utilise l'extension PHP memcache.

  • CApcCache : utilise l'extension PHP APC.

  • CXCache : utilisez l'extension PHP XCache. Notez que ceci est pris en charge à partir de la version 1.0.1.

  • CEAcceleratorCache : utilisez l'extension PHP EAccelerator.

  • CDbCache : utilisez une table de données pour stocker les données du cache. Par défaut, il créera et utilisera une base de données SQLite3 dans le répertoire d'exécution. Vous pouvez également spécifier une base de données à utiliser en définissant sa propriété connectionID.

  • CZendDataCache : utilisez Zend Data Cache comme support de mise en cache backend. Notez que ceci est pris en charge à partir de la version 1.0.4.

  • CFileCache : utilisez des fichiers pour stocker les données du cache. Ceci est particulièrement utile pour stocker de grandes quantités de données (telles que des pages). Notez que ceci est pris en charge à partir de la version 1.0.6.

  • CDummyCache : actuellement, le cache factice n'implémente pas la fonction de mise en cache. Le but de ce composant est de simplifier le code qui doit vérifier la disponibilité du cache. Par exemple, nous pouvons utiliser ce composant de mise en cache pendant la phase de développement ou lorsque le serveur ne prend pas encore en charge la fonctionnalité de mise en cache réelle. Lorsque la prise en charge réelle de la mise en cache est activée, nous pouvons passer à l'utilisation du composant de mise en cache correspondant. Dans les deux cas, nous pouvons utiliser le même code Yii::app()->cache->get($key) pour obtenir le fragment de données sans craindre que Yii::app()->cache puisse être null. Ce composant est supporté depuis la version 1.0.5.

Astuce : Puisque tous ces composants de cache héritent de la même classe de base CCache, vous pouvez y basculer sans changer le code qui utilise le cache. Utilisez une autre méthode de mise en cache.

La mise en cache peut être utilisée à différents niveaux. Au niveau le plus bas, nous utilisons des caches pour stocker des éléments de données individuels, tels que des variables, que nous appelons mise en cache des données. Au niveau suivant, nous stockons dans le cache un fragment de page généré dans le cadre du script de vue. Et au plus haut niveau, nous stockons la page entière en cache et la récupérons en cas de besoin.

Dans les prochaines sections, nous expliquerons en détail comment utiliser la mise en cache à ces niveaux.

Remarque : Par définition, un cache est un support de stockage instable. Même s'il n'y a pas de délai d'attente, cela ne garantit pas que les données mises en cache existeront. Par conséquent, n’utilisez pas le cache comme stockage persistant. (Par exemple, n'utilisez pas le cache pour stocker les données de session).

Articles de la série sur la mise en cache :

Série de guides officiels du Yii Framework 29 - Mise en cache : mise en cache des données

Série de guides officiels du Yii Framework 30 - Mise en cache : mise en cache des fragments (Mise en cache des fragments )

Yii Framework Official Guide Series 31 - Mise en cache : mise en cache de pages

Yii Framework Official Guide Series 32 - Mise en cache : contenu dynamique (Contenu dynamique)

Ci-dessus Voici le contenu de Yii Framework Official Guide Series 28 - Mise en cache : présentation Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php.cn) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal