0Pricing
PHP Academy · Lektion

Memcached für Session- und Objekt-Caching

Verwenden Sie Memcached als verteilten In-Memory-Speicher für PHP-Objekte.

Memcached für Session- und Objekt-Caching ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist Memcached?

Memcached ist ein leistungsstarker, verteilter In-Memory-Schlüssel-Wert-Speicher. In PHP-Anwendungen wird er häufig zum Zwischenspeichern von Ergebnissen von Datenbankabfragen und Sitzungsdaten verwendet.

Installation

Installieren Sie den Memcached-Server und die PHP-Erweiterung.

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

# Verify:
$ php -m | grep memcached

Verbindung zu Memcached herstellen

Erstellen Sie eine Memcached-Instanz und fügen Sie einen oder mehrere Server hinzu.

<?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],
]);

Grundlegende Cache-Operationen

Setzen, lesen, löschen und ersetzen Sie Cache-Einträge.

<?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");

Sitzungsspeicher mit Memcached

Speichern Sie PHP-Sitzungen in Memcached, damit mehrere Webserver schnell und gemeinsam darauf zugreifen können.

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

Memcached-Integration in Laravel

Konfigurieren Sie Memcached und verwenden Sie es als Laravel-Cache-Treiber.

# .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 im Vergleich zu Redis

Memcached: einfacher, mehrthreadfähig, vollständig im Arbeitsspeicher (keine Persistenz). Redis: umfangreichere Datentypen, optionale Persistenz (AOF/RDB), Pub/Sub und Cluster. Für reines Caching ist die Leistung beider Systeme ähnlich. Für neue Projekte wird im Allgemeinen Redis bevorzugt.

Verteiltes Caching

Memcached verteilt Schlüssel mithilfe von konsistentem Hashing nativ auf mehrere Server. Dadurch lässt sich das System bei wachsendem Datenverkehr horizontal skalieren.

Atomisches CAS (Compare-And-Swap)

Memcached unterstützt CAS-Operationen, mit denen Sie einen Wert sicher aktualisieren können, aber nur dann, wenn kein anderer Client ihn seit Ihrem letzten Lesen geändert hat.

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

TTL-Grenzen

Die TTL von Memcached ist auf maximal 30 Tage begrenzt. Werte, die größer als etwa 1 MB sind, werden abgelehnt. Halten Sie Cache-Werte klein und serialisieren Sie sie effizient.

Überwachung

Verwenden Sie memcached-tool 127.0.0.1:11211 stats, um Trefferquote, Speichernutzung und Verdrängungen zu überprüfen. Eine niedrige Trefferquote oder eine hohe Anzahl von Verdrängungen weist darauf hin, dass der Cache zu klein ist.

Zusammenfassung

Memcached eignet sich besonders gut für einfaches verteiltes Caching von Objekten und Sitzungen. Setzen Sie in Laravel CACHE_DRIVER=memcached. Für Produktionsumgebungen mit umfangreicheren Funktionen sollten Sie Redis bevorzugen.

Kurze Überprüfung

Was ist ein wesentlicher Unterschied zwischen Memcached und Redis?

Häufig gestellte Fragen

Ist die Lektion „Memcached für Session- und Objekt-Caching“ kostenlos?

Ja — der vollständige Text von „Memcached für Session- und Objekt-Caching“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Memcached für Session- und Objekt-Caching“?

Verwenden Sie Memcached als verteilten In-Memory-Speicher für PHP-Objekte. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um PHP Academy zu starten?

Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Memcached für Session- und Objekt-Caching“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?

Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Warum Caching in PHP wichtig ist
  2. Redis als PHP-Cache-Backend
  3. Memcached für Session- und Objekt-Caching
  4. Muster zur Cache-Invalidierung
← Zurück zu PHP Academy