Aller au contenu principal

Memcached

Memcached est un cache clé-valeur en mémoire, volontairement minimaliste : pas de persistance, pas de structures de données riches (juste des chaînes d'octets), mais très rapide et multi-thread nativement. Utilisé classiquement pour cacher des résultats de requêtes SQL ou des fragments de page web.

Installation

sudo apt install memcached # Debian/Ubuntu
sudo dnf install memcached # RHEL/Fedora
sudo pacman -S memcached # Arch

sudo systemctl enable --now memcached

Fichiers de configuration

FichierRôle
/etc/memcached.confConfiguration principale (Debian/Ubuntu : options passées au démon)
/etc/sysconfig/memcachedVariante RHEL/Fedora

Commandes utiles

systemctl status memcached
echo stats | nc localhost 11211 # statistiques du serveur
memcached -vv # lancer en mode debug (verbeux, au premier plan)
memcached -h # options disponibles

Exemple de configuration

# /etc/memcached.conf (Debian/Ubuntu)
-d
-m 256 # mémoire max en Mo
-p 11211 # port d'écoute
-u memcache # utilisateur d'exécution
-l 127.0.0.1 # interface d'écoute — restreindre au loopback

Sécurisation

  • Toujours restreindre l'écoute (-l 127.0.0.1) — Memcached n'a aucune authentification native dans sa version standard ; exposé sur Internet, il a servi de vecteur à des attaques par amplification DDoS massives (facteur d'amplification très élevé sur le protocole UDP).
  • Désactiver UDP si non utilisé (-U 0), ne garder que TCP.
  • Isoler le service derrière un pare-feu/VLAN si un accès réseau (non-loopback) est nécessaire.
  • Limiter la mémoire allouée (-m) pour éviter l'épuisement des ressources de l'hôte.

Logs & dépannage

journalctl -u memcached -f
echo "stats items" | nc localhost 11211 # nombre d'objets en cache par slab
echo "flush_all" | nc localhost 11211 # vider le cache (dépannage)

Voir aussi

  • Redis — cache concurrent avec structures de données riches, persistance optionnelle et authentification native.