Memcached ist ein schneller, In-Memory Key-Value-Store, der sich hervorragend für Web-Anwendungen eignet, wenn es um reines Caching von Daten ohne Persistenz geht. Im Gegensatz zu Redis bietet Memcached eine schlankere Architektur, die besonders bei hohen Zugriffszahlen und verteilten Umgebungen Vorteile bietet. In diesem Leitfaden erfahren Einsteiger, IT-Studierende und Junior Network Engineers, wie Memcached installiert, konfiguriert und optimal eingesetzt wird, sowie wann es Redis überlegen sein kann.
Voraussetzungen
- Linux-Server (Ubuntu/Debian oder CentOS/RHEL)
- Root- oder Sudo-Rechte
- Webanwendungen, die Key-Value-Caching unterstützen
- Grundkenntnisse in Terminal und Texteditoren
- Optional: Firewall und Netzwerkplanung für Multi-Server-Umgebungen
Memcached Installation
Memcached kann über die Paketmanager der gängigen Distributionen installiert werden.
# Ubuntu/Debian
sudo apt update
sudo apt install memcached libmemcached-tools
# CentOS/RHEL
sudo yum install memcached libmemcached
# Dienst starten und aktivieren
sudo systemctl start memcached
sudo systemctl enable memcached
sudo systemctl status memcached
Grundkonfiguration
Die Konfigurationsdatei befindet sich typischerweise unter /etc/memcached.conf oder /etc/sysconfig/memcached. Wichtige Parameter:
-m 256 # Maximale RAM-Nutzung 256MB
-p 11211 # Standard-Port
-l 127.0.0.1 # Bind-Adresse (nur localhost für Sicherheit)
-u memcached # Benutzer, unter dem der Dienst läuft
-c 1024 # Maximale Anzahl gleichzeitiger Verbindungen
Nach Änderungen Dienst neu starten:
sudo systemctl restart memcached
sudo systemctl status memcached
Memcached nutzen
Memcached speichert einfache Schlüssel-Wert-Paare, ideal für Session-Daten oder Cache von häufigen Abfragen.
# Beispiel: Key setzen mit Ablaufzeit (TTL)
echo "set mykey 0 3600 11rnHello Worldr" | nc 127.0.0.1 11211
# Key auslesen
echo "get mykeyr" | nc 127.0.0.1 11211
# Key löschen
echo "delete mykeyr" | nc 127.0.0.1 11211
Integration in Webanwendungen
- PHP:
memcachedodermemcacheExtension - Python:
pymemcacheoderpython-memcached - Node.js:
memjsodermemcachedModule - Java:
spymemcachedoderxmemcached
PHP Beispiel
$mem = new Memcached();
$mem->addServer('127.0.0.1', 11211);
$mem->set('session_key', 'value', 3600);
$value = $mem->get('session_key');
Unterschiede zwischen Memcached und Redis
- Memcached ist rein in-memory, keine Persistenz; Redis kann Daten dauerhaft speichern
- Memcached unterstützt einfache Key-Value-Paare; Redis bietet komplexe Datentypen (Listen, Sets, Hashes)
- Memcached skaliert horizontal leicht über mehrere Server, Redis kann Cluster bilden
- Memcached benötigt weniger Ressourcen und ist einfacher zu konfigurieren
- Redis bietet erweiterte Features wie Pub/Sub, Lua-Scripting und Transaktionen
Netzwerk- und Subnetzplanung
In Multi-Server- oder Cluster-Umgebungen sollte Memcached auf dedizierten IPs laufen und die Subnetze sauber geplant sein.
IPv4 Subnetz
<math>
Memcached-IP = 192.168.300.10/24
Subnetzadresse = 192.168.300.10 & 255.255.255.0 = 192.168.300.0
Broadcastadresse = 192.168.300.0 | ~255.255.255.0 = 192.168.300.255
</math>
IPv6 Subnetz
<math>
Memcached-IP = 2001:db8:abcd:300::10/64
Subnetzadresse = 2001:db8:abcd:300:: & ffff:ffff:ffff:ffff:: = 2001:db8:abcd:300::0
Broadcastadresse = 2001:db8:abcd:300:ffff:ffff:ffff:ffff
</math>
Best Practices
- Memcached nur im internen Netzwerk verfügbar machen (Bind auf localhost oder internes Subnetz)
- Maximale RAM-Nutzung definieren und Speicherüberwachung aktivieren
- Schlüssel-Lebensdauer (TTL) für Cache-Einträge setzen
- Regelmäßiges Monitoring mit
memcached-tooloderstatsBefehl - Separate Benutzer für den Dienst verwenden
- Backups von Redis-Daten sind bei Memcached nicht nötig, da keine Persistenz
- Horizontal skalieren über mehrere Memcached-Instanzen für hohe Last
- Firewalls und IP-Filterung konfigurieren, um unbefugten Zugriff zu verhindern
- Updates regelmäßig durchführen
- Logging aktivieren und überwachen
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

