Programmation PHP/Cache

Un livre de Wikilivres.
Aller à la navigation Aller à la recherche


Classification[modifier | modifier le wikicode]

Il existe plusieurs systèmes de cache en PHP pour accélérer l'exécution du code rappelé[1] :

Nom Données stockées Flush
Cache d'instance Objet PHP (ex : if (is_null($x)) { $x = 1; }) Relancer le script (ex : rafraichir la page Web).
Cache de session Objet PHP[2] Vider les cookies du navigateur.
OPcache Opcode[3] opcache_reset();
APCu Variables utilisateurs dans la RAM[4] apc_clear_cache();
Cache du navigateur Rendering CTRL + F5
ESI Partie de pages Web Dépend du CDN ou proxy utilisé
Cache de framework Configuration, traductions Exemple de Symfony : php bin/console cache:clear vide les fichiers temporaires de var/cache.
Proxy Page web entière Exemples, voir Varnish, HAProxy
Base de données NoSQL Paire clé-valeur Voir les pages Memcached et Redis ci-après.
Cache d'ORM Requêtes SQL ou leurs résultats Exemple de Doctrine :
php bin/console doctrine:cache:clear-metadata 
php bin/console doctrine:cache:clear-query  
php bin/console doctrine:cache:clear-result

Installation[modifier | modifier le wikicode]

OPcache[modifier | modifier le wikicode]

Dans Docker :

RUN docker-php-ext-install opcache

APCu[modifier | modifier le wikicode]

RUN pecl install apcu \
    && pecl install apcu_bc \
    && docker-php-ext-enable apcu --ini-name 10-docker-php-ext-apcu.ini \
    && docker-php-ext-enable apc --ini-name 20-docker-php-ext-apc.ini \
    && docker-php-ext-enable apc --ini-name 20-docker-php-ext-apc.ini

Références[modifier | modifier le wikicode]