Was ist Redis? Installation und Einsatzbereiche
Was ist Redis? Redis als Cache, Session-Speicher und Queue, Installation unter Ubuntu, sichere Einstellungen, Speicherlimit, Persistenz und WordPress.

Inhalt
Redis ist ein extrem schneller Open-Source-Key-Value-Speicher, der Daten im Arbeitsspeicher (RAM) hält. Da die Daten nicht auf der Festplatte, sondern im Arbeitsspeicher liegen, dauern Lese- und Schreibvorgänge nur Mikrosekunden. Deshalb wird Redis vor allem als Cache, Session-Speicher und Job-Queue eingesetzt: Es speichert die Ergebnisse häufig wiederholter Datenbankabfragen, hält Benutzersitzungen vor und reiht Aufgaben ein, die im Hintergrund laufen sollen.
In diesem Artikel erklären wir, was Redis ist, wann es sich lohnt, wie Sie es auf einem Ubuntu-Server installieren, welche Einstellungen es absichern und wie Sie es mit WordPress nutzen.
Wie funktioniert Redis?
Redis speichert jeden Wert unter einem Schlüssel. Der Wert kann ein einfacher Text sein, aber auch eine Datenstruktur wie eine Liste, ein Set, ein Sorted Set oder ein Hash:
SET benutzer:42:name "Anna"
GET benutzer:42:name
EXPIRE benutzer:42:name 3600
EXPIRE sorgt dafür, dass ein Schlüssel nach einer bestimmten Zeit von selbst gelöscht wird; das ist die Grundlage jedes Caches. Redis läuft in einem einzigen Haupt-Thread und arbeitet die Befehle der Reihe nach ab; das macht es sowohl sehr schnell als auch vorhersehbar.
Wofür nutzt man Redis?
- Cache: Speichert die Ergebnisse aufwendiger Datenbankabfragen oder API-Antworten für eine bestimmte Zeit. Folgende Anfragen werden aus dem Arbeitsspeicher beantwortet, ohne die Datenbank zu belasten.
- Sessions: Hält Benutzersitzungen schnell verfügbar und an einem Ort, auf den mehrere Anwendungsserver gemeinsam zugreifen können.
- Job-Queues: Verlagert Aufgaben wie den E-Mail-Versand oder die Bildverarbeitung in den Hintergrund. Die Queues von Laravel und Bibliotheken wie BullMQ für Node.js nutzen Redis.
- Rate Limiting: Ideal, um zu zählen, wie viele Anfragen eine IP-Adresse pro Minute sendet.
- Ranglisten und Zähler: Sorted Sets erleichtern Bestenlisten in Spielen und Live-Zähler.
- Publish/Subscribe (Pub/Sub): Ermöglicht es Anwendungen und Servern, einander in Echtzeit Nachrichten zu senden.
Redis ersetzt keine Datenbank wie MariaDB, sondern steht vor ihr und nimmt ihr Last ab. Die Installation der Datenbank erklären wir in unserer Anleitung MySQL und MariaDB installieren.
Redis unter Ubuntu und Debian installieren
Nachdem Sie sich per SSH mit Ihrem Server verbunden haben:
sudo apt update
sudo apt install redis-server
sudo systemctl enable --now redis-server
Testen Sie die Installation:
redis-cli ping
Lautet die Antwort PONG, läuft Redis. Wenn Sie Docker verwenden, können Sie auch das offizielle redis-Image nutzen; vergessen Sie nicht, den Port nur an die Adresse 127.0.0.1 zu binden. Warum, erklären wir in unserer Anleitung Docker installieren.
Sichere Einstellungen
Die Einstellungen von Redis stehen in der Datei /etc/redis/redis.conf. Prüfen Sie diese Zeilen:
bind 127.0.0.1 -::1
protected-mode yes
requirepass ein-langes-starkes-passwort
maxmemory 256mb
maxmemory-policy allkeys-lru
bind: Sorgt dafür, dass Redis nur vom Server selbst aus erreichbar ist. Geben Sie Redis niemals im Internet frei; offene Redis-Server werden durch automatisierte Scans innerhalb von Minuten gefunden und übernommen.protected-mode: Verhindert, dass ein Redis ohne Passwort Verbindungen von außen annimmt.requirepass: Verlangt von verbindenden Anwendungen ein Passwort. Wählen Sie ein langes, zufälliges Passwort.maxmemory: Der maximale Arbeitsspeicher, den Redis nutzen darf. Ohne dieses Limit kann Redis den Arbeitsspeicher der anderen Anwendungen auf dem Server aufbrauchen.maxmemory-policy: Was passiert, wenn das Limit erreicht ist.allkeys-lrulöscht die am längsten nicht genutzten Schlüssel und ist ideal für den Einsatz als Cache. Wenn Sie Redis für Queues oder dauerhafte Daten verwenden, wählen Sienoeviction; so werden keine Daten stillschweigend gelöscht.
Starten Sie den Dienst nach den Änderungen neu:
sudo systemctl restart redis-server
redis-cli -a 'ein-langes-starkes-passwort' ping
Muss eine Anwendung auf einem anderen Server auf Redis zugreifen, öffnen Sie nicht den Port, sondern verbinden Sie beide Server über ein privates Netz wie WireGuard.
Persistenz: RDB und AOF
Redis hält die Daten im Arbeitsspeicher, kann sie aber auch auf die Festplatte schreiben, um sie nach einem Neustart des Servers wiederherzustellen:
- RDB (Snapshot): In bestimmten Abständen wird eine Kopie aller Daten auf die Festplatte geschrieben. Das ist schnell und leicht zu sichern, aber Änderungen nach dem letzten Snapshot können verloren gehen.
- AOF (Append-only File): Jeder Schreibvorgang wird an ein Log angehängt. Es geht deutlich weniger verloren, dafür ist die Datei größer.
Wenn Sie Redis nur als Cache nutzen, können Sie die Persistenz abschalten; nach einem Neustart füllt sich der Cache ohnehin von selbst. Für Sessions und Queues ist es sicherer, AOF zu aktivieren (appendonly yes).
Aus Ihrer Anwendung mit Redis verbinden
Für die meisten Sprachen gibt es fertige Redis-Bibliotheken. Zum Beispiel in Node.js:
import { createClient } from 'redis';
const redis = createClient({ url: 'redis://:ein-langes-starkes-passwort@127.0.0.1:6379' });
await redis.connect();
await redis.set('hallo', 'welt', { EX: 60 });
console.log(await redis.get('hallo'));
In Laravel genügt es, in der Datei .env die Werte CACHE_STORE, SESSION_DRIVER und QUEUE_CONNECTION auf redis zu setzen und die Verbindungsdaten für Redis einzutragen.
Redis mit WordPress
WordPress führt bei jedem Seitenaufruf immer wieder dieselben Datenbankabfragen aus. Ein Object Cache hält die Ergebnisse dieser Abfragen in Redis vor:
- Installieren Sie auf dem Server Redis und die Redis-Erweiterung für PHP (unter Ubuntu das Paket
php-redis). - Installieren und aktivieren Sie in WordPress das Plugin Redis Object Cache.
- Wenn Sie Redis mit einem Passwort geschützt haben, fügen Sie der Datei
wp-config.phpdie Zeiledefine( 'WP_REDIS_PASSWORD', 'ein-langes-starkes-passwort' );hinzu. - Aktivieren Sie in den Einstellungen des Plugins den Object Cache.
Ein Object Cache macht sich vor allem in WooCommerce-Shops und auf Websites mit vielen angemeldeten Nutzern bemerkbar. Weitere Methoden zur Beschleunigung erklären wir in unserer Anleitung Website schneller machen.
Redis überwachen
redis-cli -a 'ein-langes-starkes-passwort' info memory
redis-cli -a 'ein-langes-starkes-passwort' info stats
info memory zeigt den belegten Arbeitsspeicher, info stats die Cache-Treffer (keyspace_hits) und Fehlschläge (keyspace_misses). Ist die Trefferquote niedrig, werden die gecachten Daten möglicherweise zu kurz vorgehalten, oder es werden die falschen Daten gecacht.
Nodesty-Server für Redis
Da Redis alle Daten im Arbeitsspeicher hält, braucht es einen Server mit reichlich RAM. Mit den hohen RAM-Optionen der AMD EPYC 7763 vServer von Nodesty betreiben Sie Redis, Datenbank und Anwendung bequem auf demselben Server; die AMD Ryzen 9 9950X vServer holen mit ihrer hohen Single-Core-Leistung das Beste aus der Single-Thread-Architektur von Redis heraus. Beide Pakete umfassen NVMe-Speicher, DDoS-Schutz durch nShield und kostenlose tägliche Backups, die 7 Tage lang aufbewahrt werden.
Häufig gestellte Fragen
Ersetzt Redis eine Datenbank?
In der Regel nicht. Redis ist ein schneller Key-Value-Speicher, der Daten im Arbeitsspeicher hält, und wird in den meisten Projekten neben einer Datenbank wie MariaDB oder PostgreSQL eingesetzt, um häufig gelesene Daten zu cachen. Für dauerhafte und relationale Daten brauchen Sie weiterhin eine richtige Datenbank.
Gehen die Daten in Redis verloren, wenn der Server neu startet?
Das hängt von den Persistenz-Einstellungen ab. Die standardmäßigen RDB-Snapshots werden in bestimmten Abständen auf die Festplatte geschrieben; Änderungen nach dem letzten Snapshot können verloren gehen. Mit aktiviertem AOF wird jeder Schreibvorgang in ein Log geschrieben, sodass deutlich weniger verloren geht. Wenn Sie Redis nur als Cache nutzen, können Sie die Persistenz auch abschalten.
Wie viel RAM braucht Redis?
Redis hält alle Daten im Arbeitsspeicher; der Bedarf hängt also davon ab, wie viele Daten Sie speichern. Für den Object Cache einer Website reichen meist 128–512 MB. Begrenzen Sie mit der Einstellung maxmemory den maximalen Arbeitsspeicher, den Redis nutzen darf; sonst bleibt für die anderen Anwendungen auf dem Server womöglich kein Platz.
Sollte ich den Redis-Port im Internet freigeben?
Nein. Im Internet erreichbare Redis-Server werden durch automatisierte Scans schnell gefunden und übernommen. Redis sollte nur auf der Adresse 127.0.0.1 lauschen und durch ein Passwort geschützt sein. Wenn Sie von einem anderen Server aus zugreifen müssen, verwenden Sie einen SSH-Tunnel oder ein privates Netz wie WireGuard.
Was ist der Unterschied zwischen Redis und Valkey?
Valkey ist ein Open-Source-Fork von Redis, der nach der Lizenzänderung von Redis unter dem Dach der Linux Foundation gestartet wurde. Er ist mit den Befehlen und dem Protokoll von Redis kompatibel; die meisten Anwendungen, die Redis erwarten, laufen ohne Änderungen mit Valkey.
Macht Redis eine WordPress-Website schneller?
Bei stark besuchten Websites mit vielen angemeldeten Nutzern und intensiver Datenbanknutzung spürbar; die Ergebnisse wiederholter Datenbankabfragen kommen dann aus dem Arbeitsspeicher. Bei einfachen Websites mit wenigen Besuchern, die bereits einen Seitencache nutzen, ist der Unterschied gering.
Über den Autor
Nodesty-Team · Infrastruktur und Support
Das Nodesty-Team betreibt unsere Server, unser Netzwerk und unseren DDoS-Schutz im Alltag und beantwortet Support-Anfragen rund um die Uhr. Diese Ratgeber entstehen aus dieser Arbeit.
Verwandte Artikel

Ubuntu Upgrade: Server auf die neue LTS-Version bringen
Ubuntu Server auf die neue LTS-Version upgraden: Backup, Vorbereitung, do-release-upgrade, SSH-Verbindung, Kontrollen danach und Neuinstallation erklärt.

Was ist ein Load Balancer? So funktioniert Lastverteilung
Was ist ein Load Balancer und wofür? Methoden der Lastverteilung, Health Checks, Sessions, Load Balancing mit Nginx, HAProxy und wann Sie einen brauchen.

Laravel deployen: Anwendung auf dem vServer veröffentlichen
Laravel deployen auf dem Server: PHP-FPM, Composer, .env, Datenbank, Dateirechte, Nginx, Queue Worker, Scheduler, SSL und Updates Schritt für Schritt.