Redis ist ein schemaloser In-Memory-Schlüsselwert-Datenspeicher für Echtzeitanwendungen. Entwickler können es als NoSQL-Datenbank, als sekundäre Datenschicht oder als Cache-Schicht für rechenintensive Prozesse nutzen.

Redis bietet einen persistenten Speicher, der Website-Sitzungszustände und andere Daten zwischenspeichern kann. Anwendungen, die Redis als Cache-Layer nutzen, führen in der Regel eine komplexe Datenbankabfrage oder einen API-Aufruf durch und speichern dann die Ergebnisse im Cache. So können Objekte schnell und effizient gespeichert und abgerufen werden. Daher ist Redis eine hervorragende Ergänzung für WordPress, das einen eher traditionellen relationalen Datenbankserver als primären Inhaltsspeicher verwendet.

Die Redis-Befehlszeilenschnittstelle (CLI) kann für die Kommunikation mit dem Redis-Server deiner WordPress-Website verwendet werden. Mit der Redis-Befehlszeilenschnittstelle (auf der Befehlszeile als redis-cli aufgerufen) kannst du programmatisch Anfragen an den Redis-Server stellen und Antworten von ihm erhalten, die in einer Redis-Instanz ausgeführten Befehle überwachen, die Latenz einer Instanz prüfen und den Zustand des Servers in Echtzeit beobachten.

Dieses Tutorial zeigt dir, wie du Redis in deine WordPress-Website integrierst und das Redis CLI verwendest, um CRUD-Operationen (Create, Read, Update und Delete) von deinem Terminal aus durchzuführen.

Redis mit DevKinsta mit WordPress verbinden

Um eine WordPress-Site mit einer Redis-Datenbank zu verbinden, verwenden wir DevKinsta, ein kostenloses Toolkit, mit dem du WordPress-Sites mit nur einem Klick in deiner lokalen Umgebung erstellen, entwickeln und bereitstellen kannst.

DevKinsta erstellt eine WordPress-Website in Docker mit den neuesten Versionen der Abhängigkeiten, einschließlich eines Nginx-Webservers, PHP und einer MySQL-kompatiblen MariaDB-Datenbank. Außerdem bietet es CLI-Unterstützung für WordPress.

DevKinsta ist für Windows, Linux und macOS verfügbar. Weitere Informationen zur Installation findest du, wenn du DevKinsta herunterlädst.

Nachdem die Installation abgeschlossen ist, erstellst und installierst du eine neue WordPress-Website lokal auf deinem Gerät mit dem Standard-Hosting-Stack.

DevKinsta bietet drei Optionen für die lokale Erstellung von WordPress-Websites: eine brandneue Website mit Standardeinstellungen, eine neue Website mit benutzerdefinierten Einstellungen und das Klonen einer bestehenden Website, die auf Kinsta gehostet wird, in deine lokale Entwicklungsumgebung.

In diesem Leitfaden wird die erste Option mit den Standardeinstellungen und den neuesten Versionen von Nginx, PHP, MariaDB und WordPress verwendet.

Wenn du diese Schritte befolgt hast, kannst du das Dashboard deiner neuen Website in DevKinsta einsehen:

Screenshot des DevKinsta-Dashboards und der Details einer neuen WordPress-Website
Das DevKinsta-Dashboard nach der Erstellung einer neuen WordPress-Website

Achte auf den Site Path. Das ist das Verzeichnis mit den Dateien und Ordnern für die lokale Website. Der Link WP Admin Dashboard erscheint in der oberen rechten Ecke. Notiere dir schließlich den Site Host, die URL, die auf deine neue Entwicklungsseite verweist.

Du kannst Docker Desktop öffnen, um alle Container aufzulisten, die als Abhängigkeiten in deinem DevKinsta-Projekt laufen. Dazu klickst du oben in der linken Seitenleiste auf Containers:

Screenshot: Docker Desktop Liste der Container, die in DevKinsta laufen
Die Liste der DevKinsta-Container in Docker Desktop

Jetzt, da deine WordPress-Website und die Container-Abhängigkeiten eingerichtet sind, kannst du eine Redis-Datenbank mit deiner Website verbinden:

  1. Klicke in DevKinsta auf die Schaltfläche WP Admin, um zu deinem WordPress-Admin-Dashboard zu navigieren.
  2. Klicke auf den Reiter Plugins auf der linken Seite.
  3. Klicke auf Neu hinzufügen und suche nach „Redis Object Cache“
Screenshot: Suche nach Redis Object Cache beim Hinzufügen von Plugins in WordPress.
Suche nach dem Redis Object Cache Plugin in WordPress

Klicke neben dem Plugin auf Jetzt installieren. Bestätige dann, dass es aktiv ist, indem du auf die Registerkarte Installierte Plugins klickst.

Screenshot: Eine Liste der installierten WordPress-Plugins, in der Redis Object Cache hervorgehoben ist.
Installierte WordPress-Plugins, einschließlich Redis Object Cache

Bei der ersten Aktivierung meldet das Redis Object Cache Plugin, dass es keine Verbindung zu einer Redis-Datenbank herstellen kann. Wir lösen das Problem, indem wir einen Container mit einer Redis-Instanz in Docker erstellen.

Öffne ein Terminal und erstelle einen Netzwerkcontainer namens redisnet, in dem du dein Redis-Image ausführst:

docker network create -d bridge redisnet

Erstelle nun ein Redis-Image als eigenständigen Container innerhalb dieses Netzwerk-Containers und führe es aus:

docker run -d -p 6379:6379 --name demo_redis --network redisnet redis

Nachdem du das Container-Image gestartet hast, überprüfe in Docker Desktop, ob das Redis-Image läuft:

Screenshot: Indikator, dass das demo_redis-Image in Docker Desktop läuft
Docker Desktop führt das demo_redis-Image aus

Denk daran, dass deine WordPress-Website automatisch in einem Docker-Container gestartet wurde. Du kannst den Netzwerknamen und die ID des Containers bestätigen:

docker network ls
Screenshot: Netzwerknamen und IDs in Docker Desktop
Netzwerknamen und IDs in Docker Desktop

Oben siehst du die verkürzte Version der Netzwerk-ID für devkinsta_network: d1fa155f7a4d. Wir werden sie später verwenden.

Eine Möglichkeit, deinen Redis-Cluster und Server mit deiner lokalen WordPress-Website zu verbinden, ist eine direkte Verbindung zwischen den Redis- und DevKinsta-Netzwerken. Überprüfe zunächst die Container-ID für Redis. Beim Docker-Befehl zur Auflistung der Container verwenden wir den Schalter -l (latest), um nur den zuletzt erstellten Container anzuzeigen:

docker ps -l
Screenshot: Die Ausgabe des Docker-Befehls zur Anzeige von Informationen über Container.
Container-Informationen, die mit dem ps-Befehl von Docker generiert werden

In diesem Beispiel wird die verkürzte Container-ID als c3ffc630e44c angezeigt.

Verbinde deinen Redis-Container mit dem DevKinsta-Netzwerk, indem du im folgenden Befehl deine Container-ID anstelle der unseren angibst.

docker network connect devkinsta_network c3ffc630e44c

Das Redis-Container-Image sollte nun erfolgreich zur Liste der laufenden Container im devkinsta_network hinzugefügt worden sein. Um die Netzwerk-IP-Adresse des Redis-Containers zu überprüfen, führe den folgenden Befehl aus und ersetze unsere devkinsta_network ID durch diejenige, die du mit dem Befehl network ls in deinem Projekt gefunden hast:

docker inspect d1fa155f7a4d
Screenshot: Ausgabe des Befehls docker inspect
Das Terminal zeigt einige der Ausgaben des Befehls docker inspect an

In der obigen Abbildung lautet die IP-Adresse des demo_redis-Containers 172.172.0.6. Notiere dir die IP-Adresse in deinem Projekt, bevor du mit der Verbindung fortfährst.

Navigiere zum Stammverzeichnis der WordPress-Website auf deinem lokalen Rechner, das auf dem in DevKinsta angezeigten Site Path liegt. Öffne die Datei wp-config.php in einem Texteditor und füge den folgenden Code in den Abschnitt für benutzerdefinierte Konfigurationsvariablen ein:

define('WP_REDIS_CLIENT', 'predis');
define('WP_REDIS_HOST', '172.172.0.6');
define('WP_REDIS_PORT', '6379');

Die IP-Adresse, die du für WP_REDIS_HOST verwendest, ist die, die du für demo_redis entdeckt hast, als du den Befehl docker inspect ausgeführt hast.

Dieser Konfigurationscode fügt den Redis-Client, den Host und den Port hinzu, damit das Plugin auf den Redis-Server im selben Docker-Container und Netzwerk wie DevKinsta zugreifen kann.

Um zu bestätigen, dass das Plugin verbunden ist und läuft:

  1. Navigiere im Admin-Dashboard zu deiner WordPress-Plugin-Seite.
  2. Klicke auf den Link Einstellungen für den Redis Object Cache.
  3. Klicke auf der Einstellungsseite auf die Schaltfläche Objekt-Cache aktivieren.
Screenshot: Aktivieren des Redis Object Cache in WordPress.
Der Redis Object Cache ist beschreibbar und erreichbar, muss aber noch aktiviert werden

Sobald der Redis Object Cache aktiviert ist, sieht die Einstellungsseite etwa so aus:

Screenshot: Die Seite mit den Einstellungen für den Redis-Objekt-Cache, wenn das Plugin aktiviert ist.
Die Seite mit den Einstellungen für den Redis Object Cache zeigt, dass Redis verbunden ist und läuft

Starten der Redis CLI

Das Redis CLI-Tool (redis-cli) wird zusammen mit einem Redis-Server ausgeliefert. Du kannst einen Redis-Server auf Windows-, macOS– und Linux-Betriebssystemen installieren.

Da wir Redis aber bereits in Docker betreiben, können wir das CLI-Tool in unserem demo_redis-Container starten.

Als wir oben den Befehl docker ps verwendet haben, haben wir die ID des Containers erfahren, in dem das Redis-Image läuft. Unserer begann mit c3ffc630e44c. Wir können diese verkürzte ID verwenden, um demo_redis anzuvisieren und eine Kommandozeilen-Shell zu starten:

docker exec -it c3ffc630e44c /bin/sh

Jetzt kannst du das Tool redis-cli aufrufen:

Screenshot: redis-cli wird in Docker aufgerufen.
redis-cli wird von einer Shell in Docker aufgerufen

Du kannst den Server anpingen, um die Verbindung zu testen:

ping
Screenshot: Anpingen des Redis-Servers mit redis-cli.
Antwort des Servers auf einen Ping in redis-cli

Um dich mit der IP-Adresse und dem Port des Redis-Servers zu verbinden und die Verbindung zu testen, führe den folgenden Befehl aus (mit der IP-Adresse deines demo_redis-Containers):

redis-cli -h 172.172.0.6 -p 6379 ping
Screenshot: Anpingen des Redis-Servers über eine IP-Adresse.
Senden eines Pings an den Redis-Server über dessen IP-Adresse und Port

Du hast dich sowohl auf deinem lokalen Rechner als auch im Docker-Container erfolgreich mit dem Redis-Server verbunden.

Als Nächstes überprüfst du, ob deine WordPress-Seite Daten im Redis-Cache speichert, indem du redis-cli und den Befehl keys * verwendest, um alle Schlüssel in der Datenbank anzuzeigen:

Screenshot: Auflistung der Schlüssel auf dem Redis-Server.
Abrufen aller Schlüssel in der Redis-Datenbank mit einer Asterisk-Wildcard-Suche

Du kannst sehen, dass einige WordPress-Daten bereits im Redis-Cache gespeichert wurden.

Redis CLI CRUD-Operationen

Mit dem CLI-Tool kannst du CRUD-Operationen mit deiner Redis-Datenbank durchführen.

Holen wir uns den Wert eines Schlüssels, den wir aus unserer früheren Redis CLI keys * Anfrage kopiert haben.

get :u.:~8r]mC->Re/gG!&mGU.[{+;]t7o<H~)c*pcU=Lx_Vs{9JkdxkL:X;M-@Y$Svwp:user_meta:1
Screenshot: Ergebnisse einer Redis-Datenbankabfrage.
Redis-Antwort auf eine „get“-Anfrage mit redis-cli

Wir manipulieren den Inhalt der Redis-Datenbank, indem wir redis-cli aufrufen und die Befehle set, get und del verwenden, um ein Schlüssel/Wert-Paar zu erstellen, den neuen Schlüssel abzufragen und ihn dann zu löschen:

Screenshot: Erstellen, Abfragen und Löschen von Redis-Schlüssel/Wertdaten.
Einfache CRUD-Operationen in einer Redis-Datenbank mit redis-cli

Der Versuch, den Wert eines gelöschten Schlüssels abzufragen, liefert nil.

Mit dem Redis CLI sind viele weitere fortgeschrittene Operationen möglich.

Zusammenfassung

Redis CLI ist eine einfache Möglichkeit, Redis-Befehle auf deiner Website zu testen, bevor du sie in eine Live-Umgebung überträgst. Es ist auch eine gute Möglichkeit, die Aktivitäten in einer Redis-Instanz zu überwachen.

In Docker bietet eine Redis-Instanz die Tools, die du für die Verwaltung der Datenbank brauchst – einschließlich redis-cli – gebündelt in einem einzigen Container.

Der Docker-Ansatz von DevKinsta macht es einfach, eine WordPress-Website auf einem lokalen Rechner zu entwickeln und sie dann mit ein paar Mausklicks in der Produktionsumgebung einzusetzen.

Wenn du nicht bereits einige der 118,000 WordPress-Websites verwaltest, die von Kinsta gehostet werden, entdecke die fortschrittlichen Funktionen, die in allen unseren Managed WordPress Hosting-Plänen verfügbar sind.

Steve Bonisteel Kinsta

Steve Bonisteel is Technical Editor bij Kinsta. Hij begon zijn schrijverscarrière als verslaggever en achtervolgde ambulances en brandweerwagens. Sinds eind jaren negentig schrijft hij over internetgerelateerde technologie.