Php memcached
Introduction
Memcached est un système d'usage général servant à gérer la mémoire cache distribuée. Il est souvent utilisé pour augmenter la vitesse de réponse des sites web créés à partir de bases de données. Il gère les données et les objets en RAM de façon à réduire le nombre de fois qu'une même donnée stockée dans un périphérique externe est lue. Il tourne sous Unix, Windows et MacOS et est distribué selon les termes d'une licence libre dite permissive1.
Memcached a été initialement mis au point par Danga Interactive pour LiveJournal. En 2010, il est utilisé par d'autres sites, plusieurs très fréquentés, tels que YouTube, Reddit, Zynga, Facebook et Twitter.
On peut avoir besoin de Memcache lorsque l'on à besoin de se substituer à la base de données. En effet, il peut être intéressant de faire ce que l'on appel un Mock qui implémente la même interface que le DAO mais qui stocke les objets en mémoire.
Installation
Pour utiliser Memchache, il faut l'installer sur un serveur et pour pouvoir l'utiliser il faut des librairies PHP. Vous pouvez tout faire sur la même machine, ou bien déporter le serveur sur une autre machine.
Memcache
# yum -y install memcached
Il faut maintenant démarrer le serveur Memcache et l'enregistrer dans le chargeur de démarrage :
# service memcached start # chkconfig memcached on
On vérifie le bon fonctionnement:
# netstat -atnp | grep memcached tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 1466/memcached tcp 0 0 :::11211 :::* LISTEN 1466/memcached
On n'oublie pas d'ouvrir le pare-feu
# iptables -I INPUT 2 -p tcp --dport 11211 -j ACCEPT # service iptables save
Librairies PHP
# yum -y install php-pecl-memcache