Karim's Blog

Un peu de tout sur CSS, HTML, AngularJS, JavaScript, Php et le reste

CodeIgniter : La Gestion du Cache

CodeIgniter : La Gestion du Cache

Bien que CodeIgniter soit assez rapide, l'ensemble des informations dynamiques que vous traiterez via vos pages influera directement sur leur vitesse de chargement en fonction de l'impact qu'il aura sur les ressources, la mémoire ou le processeur de votre serveur. En mettant vos pages dynamiques en cache dans leur rendu final, vous pourrez atteindre des performances similaires à celle de la manipulation de pages statiques.

Le principe du Cache

La mise en cache peut être activée page par page, et vous pouvez définir la période de rafraichissement. La page est ajoutée au répertoire system/cache à son premier chargement. Au chargement suivant, le système vérifie son existence dans ce répertoire et l'envoie au navigateur de l'utilisateur. Si la validité de cette page est expirée, le fichier sera supprimé et rafraichi avant d'être envoyé à l'utilisateur.

Remarque : La balise de Benchmark n'est pas mise en cache afin que vous puissiez voir la vitesse de chargement des pages lorsque le cache est activé.

Activer le Cache

Pour activer le cache, insérez l'instruction suivante dans toutes les fonctions de vos contrôleurs :

$this->output->cache(n);

Où n représente les minutes durant les quelles vous souhaitez maintenir la page en cache avant qu'elle ne soit rafraichie.

Cette balise peut être placée n'importe où dans le code, sans restriction d'ordre donc mettez là où cela vous semble le plus logique. Une fois en place, vos pages commenceront à être mise en cache.

Attention : En raison de la manière dont CodeIgniter conserve les contenus générés pour l'affichage, le système de cache fonctionne uniquement pour des affichages générés par des contrôleurs au travers de vues.

Remarque : Vous devez préalablement vous assurer que le répertoire system/cache est autorisé en écriture.

Supprimer la mise en Cache

Si vous ne souhaitez pas conserver la mise en cache pour un fichier particulier, il vous suffit de supprimer la balise et il ne sera alors plus rafraichi à expiration. Remarque : La suppression de la balise ne supprime pas immédiatement le fichier. Il doit expiré normalement. Si vous souhaitez l'enlever plus rapidement du cache vous devrez le supprimer manuellement du répertoire.