fermer
Snapchat : Nouvelles options de contrôle parental pour la localisation et la confidentialité

Nous voici à la moitié de nos conseils, et du coup la moitié de mes vacances également…

Utilisez Memcached

L’accès à votre disque est lent ? L’accès au réseau est lent ? Généralement l’utilisation d’une base de données utilise les deux.

Votre mémoire est rapide ? L’utilisation d’un cache local évite la surcharge du réseau et d’accès au disque. Combinez ces deux exactitudes et vous obtenez Memcached, un système d’usage général servant à gérer la mémoire cache distribuée, initialement développé pour la plateforme de blogs LiveJournal basée sur Perl.

Si votre application n’est pas distribuée sur plusieurs serveurs, vous n’avez probablement pas besoin d’utiliser Memcached. Dans ce cas je vous conseille de vous rapprocher d’une mise en cache simple. Pour cela, il vous suffit, par exemple, de sérialiser des données et de les stocker dans un fichier temporaire. Cela aura pour effet d’éliminer beaucoup de travail redondants sur chaque demande faite au serveur. En fait, ce système de mise en cache est utilisé par de nombreux acteurs Web, et s’avère même indispensable…

Une des façons les plus simples et les plus universelles de mettre en cache mémoire les données est d’utiliser APC (Alternative PHP Cache, en anglais) qui peut être utilisé pour améliorer sensiblement les performances d’une application en mettant en cache la précompilation des script PHP.

Prenons l’exemple suivant :

[sourcecode language= »PHP »]
<?php
$feed = apc_fetch(‘articles’);

if ($feed === FALSE) {
$feed = file_get_contents(‘http://feeds2.feedburner.com/design-folio’);
// On stocke ces données en mémoire partagée pour cinq minutes
apc_store(‘articles’, $feed, 300);
}

// Utilisation de $feed
?>
[/sourcecode]

Avec ce type de mise en cache, vous n’avez pas à attendre qu’un serveur distant envoie le flux de données pour chaque requête. Le temps de latence peut être ajusté au plus proche du temps réel, celui que votre application exige.

Utilisez-vous un tel système ? Si ce n’est pas le cas pourquoi ?

Tags : APCconseilMemcachedPHPvacances
Yohann Poiron

The author Yohann Poiron

J’ai fondé le BlogNT en 2010. Autodidacte en matière de développement de sites en PHP, j’ai toujours poussé ma curiosité sur les sujets et les actualités du Web. Je suis actuellement engagé en tant qu’architecte interopérabilité.