0Pricing
PHP Academy · Leçon

Memcached pour la mise en cache des sessions et des objets

Utiliser Memcached comme stockage distribué en mémoire pour les objets PHP.

Memcached pour la mise en cache des sessions et des objets est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.

Qu’est-ce que Memcached ?

Memcached est un magasin clé-valeur distribué en mémoire, hautement performant. Il est largement utilisé pour mettre en cache les résultats des requêtes de base de données et les données de session dans les applications PHP.

Installation

Installez le serveur Memcached et l’extension PHP.

# Ubuntu/Debian:
$ apt install memcached php-memcached
$ service memcached start

# Verify:
$ php -m | grep memcached

Connexion à Memcached

Créez une instance Memcached et ajoutez un ou plusieurs serveurs.

<?php
$mc = new Memcached();
$mc->addServer("127.0.0.1", 11211);

// Multiple servers (distributed caching):
$mc->addServers([
    ["192.168.1.10", 11211],
    ["192.168.1.11", 11211],
]);

Opérations de base sur le cache

Définissez, récupérez, supprimez et remplacez des entrées du cache.

<?php
// Set with TTL:
$mc->set("product:1", $productData, 600); // 10 min

// Get:
$product = $mc->get("product:1");
if ($mc->getResultCode() === Memcached::RES_NOTFOUND) {
    $product = fetchFromDB(1);
    $mc->set("product:1", $product, 600);
}

// Delete:
$mc->delete("product:1");

Stockage des sessions avec Memcached

Stockez les sessions PHP dans Memcached pour permettre un accès rapide et partagé entre plusieurs serveurs web.

# php.ini:
session.save_handler = memcached
session.save_path    = "127.0.0.1:11211"

Intégration de Memcached à Laravel

Configurez Memcached et utilisez-le comme pilote de cache de Laravel.

# .env
CACHE_DRIVER=memcached
MEMCACHED_HOST=127.0.0.1

// Usage is identical to Redis via Cache facade:
Cache::put("key", $value, 300);
$value = Cache::get("key");

Memcached ou Redis

Memcached : plus simple, multithread et entièrement en mémoire (sans persistance). Redis : types de données plus riches, persistance facultative (AOF/RDB), publication/abonnement et cluster. Pour la mise en cache simple, les deux offrent des performances similaires. Redis est généralement privilégié pour les nouveaux projets.

Mise en cache distribuée

Memcached répartit nativement les clés entre plusieurs serveurs au moyen d’un hachage cohérent. Cette approche permet une mise à l’échelle horizontale lorsque le trafic augmente.

CAS atomique (comparaison-échange)

Memcached prend en charge les opérations CAS pour mettre à jour une valeur en toute sécurité uniquement si aucun autre client ne l’a modifiée depuis votre dernière lecture.

<?php
$mc->get("counter", null, $cas);
$mc->cas($cas, "counter", $newValue, 60);

Limites du TTL

Le TTL de Memcached est limité à 30 jours au maximum. Les valeurs supérieures à environ 1 MB sont rejetées. Conservez des valeurs de cache peu volumineuses et sérialisez-les efficacement.

Surveillance

Utilisez memcached-tool 127.0.0.1:11211 stats pour vérifier le taux de réussite, l’utilisation de la mémoire et les expulsions. Un faible taux de réussite ou un nombre élevé d’expulsions indique que le cache est trop petit.

Résumé

Memcached excelle dans la mise en cache distribuée d’objets et de sessions simples. Dans Laravel, définissez CACHE_DRIVER=memcached. Pour la production et des fonctionnalités plus riches, préférez Redis.

Vérification rapide

Quelle est une différence essentielle entre Memcached et Redis ?

Questions Fréquemment Posées

La leçon « Memcached pour la mise en cache des sessions et des objets » est-elle gratuite ?

Oui — le texte complet de « Memcached pour la mise en cache des sessions et des objets » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Memcached pour la mise en cache des sessions et des objets » ?

Utiliser Memcached comme stockage distribué en mémoire pour les objets PHP. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Memcached pour la mise en cache des sessions et des objets » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pourquoi la mise en cache est importante en PHP
  2. Redis comme système de mise en cache PHP
  3. Memcached pour la mise en cache des sessions et des objets
  4. Stratégies d’invalidation du cache
← Retour à PHP Academy