Le système d'exploitation GNU-Linux/Memcached

Un livre de Wikilivres.

Installation[modifier | modifier le wikicode]

Memcached s'installe sur un serveur de mémoire cache distribuée, base de données de paires clé-valeur, qui est accessible par ses clients sur le port 11211, en TCP ou UDP[1].

Installation :

 sudo apt-get install memcached

Client[modifier | modifier le wikicode]

Sur Docker PHP :

 RUN pecl install memcached \
    && docker-php-ext-enable memcache

Test[modifier | modifier le wikicode]

 telnet localhost 11211

Si ça fonctionne sur le serveur mais pas depuis les autres machines, c'est certainement qu'il écoute 127.0.0.1 au lieu de son IP externe. Pour le vérifier :

netstat -an | grep ":11211"
tcp        0      0 127.0.0.1:11211         0.0.0.0:*               LISTEN

ou

ss -nlt | grep 11211
LISTEN 0 1024 127.0.0.1:11211

Pour le résoudre :

sudo vim /etc/memcached.conf
sudo /etc/init.d/memcached restart

Commandes[modifier | modifier le wikicode]

  • Reset mémoire :
 echo "flush_all" | nc -q 1 localhost 11211

Utilisation[modifier | modifier le wikicode]

Memcached propose plusieurs commandes[2]. Pour tester si le serveur fonctionne avant de l'utiliser en PHP, on peut donc les lancer avec telnet nom_du_serveur 11211.

  • stats : informations sur le cache en cours.
  • set : ajoute une paire clé-valeur dans le cache.
  • add : ajoute une paire clé-valeur uniquement si la clé n'existe pas déjà.
  • get : récupère la valeur à partir de la clé donnée en paramètre.
  • delete : supprime la paire clé-valeur de la clé donnée.
  • flush_all : supprime tout ce qu'il y a dans le cache.

Par exemple pour lire une clé, il faut d'abord voir les descriptions de toutes les clés  :

stats items
STAT items:1:number 1
...
STAT items:2:number 1
...
STAT items:3:number 1
...

Puis l'appeler par son numéro pour voir son nom (le zéro représente l'absence de limite) :

stats cachedump 1 0


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

Voir aussi[modifier | modifier le wikicode]