08-12
Cache des données avec MemCache
MemCache est un système de cache, permettant de stocker presque tout en RAM. Ce système de Cache peut être distribué, sur plusieurs serveurs MemCached. Le port par défaut du démon MemCached est 11211. Sous Debian, l'installation se déroule simplement:## Le démon: apt-get install memcached ## L'extension PHP 5 apt-get install php5-memcacheQuelques configurations sont nécessaires pour lancer le démon sous debian, il faut éditer le fichier :
nano /etc/default/memcached # Editer la ligne pour autoriser le démarrage: ENABLE_MEMCACHED=yes # Démarrez ensuite le démon: /etc/init.d/memcached startPlace maintenant à PHP, vous trouverez plus d'informations sur le book dédié sur le site de PHP.net. Le but de cet article va être de cacher une requête SQL de type COUNT(*).
// Déclaration de l'objet $memcache = new Memcache; // Ajout du serveur Memcache: $memcache->addServer('localhost', 11211); // Récupération de la variable $num = $memcache->get('nom_de_ma_clee_unique'); // On test si la variable était, ou non, en cache if ($num === false){ // La variable n'est pas présente, on doit faire nos calculs $query = mysql_query('SELECT COUNT(*) AS c FROM comments WHERE post_id = 10'); $num = mysql_fetch_assoc($query); // Mise en cache du résultat qui nous intéresse: // On cache $num, pendant une durée de 30 secondes. $memcache->set('nom_de_ma_clee_unique', $num, MEMCACHE_COMPRESSED, 30); } // Affichage des résultats var_dump($num);En espérant que ce petit billet vous aidera à mettre en cache quelques unes de vos plus lourdes requêtes.
Votre commentaire
Aucun commentaire pour ce billet.