Redis is een schemaloze, in-memory key-value data store voor real-time applicaties. Developers kunnen het gebruiken als een NoSQL database, een secundaire datalaag of een cachelaag voor rekenintensieve processen.
Redis biedt persistente opslag die websessiestatussen en andere gegevens kan cachen. Applicaties die Redis gebruiken als cachelaag maken meestal één complexe databasequery of API call en cachen dan de resultaten. Het kan hierdoor objecten snel en efficiënt opslaan en ophalen. Daarom is Redis een uitstekende combinatie met WordPress, dat een meer traditionele relationele databaseserver gebruikt als primaire inhoudsopslag.
De Redis command-line interface (CLI) kan worden gebruikt om te communiceren met de Redis server van je WordPress site. Met behulp van de Redis CLI (op de opdrachtregel kan deze worden aangeroepen als redis-cli
) kun je programmatisch verzoeken en antwoorden ontvangen van de Redis server, de commando’s controleren die in een Redis instantie worden uitgevoerd, de latentie van een instantie controleren en de status van de server in real-time observeren.
Deze tutorial laat zien hoe je Redis en je WordPress site kunt integreren en de Redis CLI kunt gebruiken om create, read, update en delete (CRUD) bewerkingen uit te voeren vanaf je terminal.
Redis met WordPress verbinden met DevKinsta
Om een WordPress site te verbinden met een Redis database gebruiken we DevKinsta, een gratis toolkit waarmee je met één klik snel WordPress sites kunt opstarten, ontwikkelen en deployen vanuit je lokale omgeving.
DevKinsta start lokaal een Dockerized WordPress site met de laatste versies van de dependencies, waaronder een Nginx webserver, PHP en een MySQL-compatibele MariaDB database. Het bevat tevens CLI ondersteuning voor WordPress.
DevKinsta is beschikbaar voor Windows, Linux en macOS. Je vindt meer informatie over de installatie als je DevKinsta downloadt.
Nadat de installatie is voltooid, maak en installeer je een nieuwe WordPress site lokaal op je apparaat met behulp van de standaard hostingstack.
DevKinsta biedt drie opties voor het lokaal maken van WordPress sites: een gloednieuwe site met standaardinstellingen, een nieuwe site met aangepaste instellingen en het klonen van een bestaande site gehost op Kinsta naar je lokale ontwikkelomgeving.
Deze tutorial gebruikt de eerste optie met de standaardinstellingen en de nieuwste versies van Nginx, PHP, MariaDB en WordPress.
Als je deze stappen hebt gevolgd, kun je het dashboard van je nieuwe site bekijken in DevKinsta:
Let op het Site Path. Dit is de map met de bestanden en mappen voor de lokale site. De link naar het WP Admin dashboard verschijnt in de rechterbovenhoek. Let tenslotte op de Site Host, dit is de URL die verwijst naar je nieuwe ontwikkelsite.
Je kunt Docker Desktop openen om een lijst te maken van alle containers die als dependencies in je DevKinsta project draaien. Klik hiervoor op Containers bovenaan in de linker zijbalk:
Nu je WordPress site en containerdependencies draaien, ben je klaar om een Redis database met je site te verbinden:
- Klik op de knop WP Admin in DevKinsta om naar je WordPress admin dashboard te gaan.
- Klik op het tabblad Plugins aan de linkerkant.
- Klik op Add New en zoek naar “Redis Object Cache”
Klik op Install Now naast de plugin. Controleer vervolgens of de plugin actief is door op het tabblad Installed Plugins te klikken.
Wanneer de Redis Object Cache plugin voor het eerst wordt geactiveerd, zal deze melden dat hij geen verbinding kan maken met een Redis database. We lossen dat op door een container te maken met een Redis instantie binnen Docker.
Laten we een terminal openen en een netwerkcontainer genaamd redisnet maken om je Redis image in te draaien:
docker network create -d bridge redisnet
Bouw en draai nu een Redis image als zelfstandige container in die netwerkcontainer:
docker run -d -p 6379:6379 --name demo_redis --network redisnet redis
Controleer na het starten van de container-image in Docker Desktop dat de Redis image draait:
Onthoud dat je WordPress site automatisch gestart is in een Docker container. Je kunt de naam en ID van het containernetwerk bevestigen:
docker network ls
Hierboven is de afgekorte versie van de netwerk ID voor devkinsta_network d1fa155f7a4d
. Die gaan we later gebruiken.
Een manier om je Redis cluster en server te verbinden met je lokale WordPress site is door de Redis en DevKinsta netwerken direct met elkaar te verbinden. Controleer eerst de container ID voor Redis. Hier, met het Docker commando om containers op te sommen (te listen), gebruiken we de -l
(latest) switch om alleen de container te tonen die het meest recent is aangemaakt:
docker ps -l
In dit voorbeeld verschijnt de afgekorte container-ID als c3ffc630e44c
.
Verbind je Redis container met het DevKinsta-netwerk en gebruik je container-ID in plaats van de onze in het onderstaande commando.
docker network connect devkinsta_network c3ffc630e44c
Het Redis container image zou nu toegevoegd moeten zijn aan de lijst van draaiende containers binnen devkinsta_network. Om het netwerk IP adres van de Redis container te verifiëren, voer je de volgende opdracht uit, waarbij je onze devkinsta_network ID vervangt door degene die je hebt gevonden met de opdracht network ls
in je project:
docker inspect d1fa155f7a4d
In de afbeelding hierboven is het IP adres van de demo_redis container 172.172.0.6. Noteer het IP adres in je project voordat je verder gaat met de verbinding.
Navigeer naar de root van de WordPress site op je lokale machine, die zich bevindt op het Site Path dat wordt weergegeven in DevKinsta. Open het bestand wp-config.php in een teksteditor en voeg de volgende code toe in de sectie voor aangepaste configuratievariabelen:
define('WP_REDIS_CLIENT', 'predis');
define('WP_REDIS_HOST', '172.172.0.6');
define('WP_REDIS_PORT', '6379');
Het IP adres dat je gebruikt voor WP_REDIS_HOST
is het adres dat je zag voor demo_redis toen je het commando docker inspect
uitvoerde.
Deze configuratiecode voegt de Redis client, host en poort toe zodat de plugin toegang heeft tot de Redis server in dezelfde Docker container en hetzelfde netwerk als DevKinsta.
Om te bevestigen dat de plugin is verbonden en draait:
- Navigeer naar je WordPress pluginspagina in het admin dashboard.
- Klik op de Settings link voor de Redis Object Cache.
- Klik op de Instellingen pagina op de knop Enable Object Cache.
Zodra de Redis Object Cache is ingeschakeld, ziet de instellingenpagina er ongeveer zo uit:
De Redis CLI starten
De Redis CLI tool (redis-cli
) wordt geleverd met een Redis server. Je kunt een Redis server installeren op Windows, macOS en Linux besturingssystemen.
We draaien Redis hier echter al in Docker, dus we kunnen de CLI tool starten binnen onze demo_redis container.
Toen we hierboven het commando docker ps
gebruikten, leerden we de ID van de container waarop het Redis image draait. Die van ons begon met c3ffc630e44c
. We kunnen deze afgekorte ID gebruiken om demo_redis te targeten en er een commandoregel in te starten:
docker exec -it c3ffc630e44c /bin/sh
Nu kun je het hulpprogramma redis-cli
callen:
Je kunt de server pingen om de verbinding te testen:
ping
Om verbinding te maken met de Redis server via zijn IP adres en poort en die verbinding te testen, voer je het volgende commando uit (met het IP adres van je demo_redis container):
redis-cli -h 172.172.0.6 -p 6379 ping
Je hebt met succes verbinding gemaakt met de Redis server op zowel je lokale machine als de Docker container.
Controleer vervolgens of je WordPress site gegevens opslaat in de Redis cache door redis-cli
en het keys *
commando te gebruiken om alle sleutels in de database weer te geven:
Je kunt zien dat sommige WordPress gegevens al zijn opgeslagen in de Redis cache.
Redis CLI CRUD bewerkingen
Je kunt CRUD operaties uitvoeren op je Redis database met de CLI tool.
Laten we de waarde opvragen van een sleutel die we hebben gekopieerd van ons eerdere Redis CLI keys *
verzoek.
get :u.:~8r]mC->Re/gG!&mGU.[{+;]t7o<H~)c*pcU=Lx_Vs{9JkdxkL:X;M-@Y$Svwp:user_meta:1
Laten we de inhoud van de Redis database manipuleren door redis-cli
te callen en de commando’s set
, get
en del
te gebruiken om een sleutel/waardepaar te maken, de nieuwe sleutel op te vragen en deze vervolgens te verwijderen:
Hierboven levert het opvragen van de waarde van een sleutel die is verwijderd nil
op.
Er zijn overigens nog veel meer geavanceerde bewerkingen beschikbaar als je de Redis CLI gebruikt.
Samenvatting
Redis CLI is een gemakkelijke manier om Redis commando’s te testen op je website voordat je het naar een live omgeving pusht. Het is tevens een geweldige manier om activiteit in een Redis instantie te monitoren.
In Docker biedt een Redis instantie de tools die je nodig hebt om de database te beheren – inclusief redis-cli
– gebundeld in een enkele container.
Ondertussen maakt de Docker aanpak van DevKinsta het eenvoudig om een WordPress site te ontwikkelen op een lokale machine en deze vervolgens met een paar muisklikken uit te rollen naar productie.
Als je nog niet bezig bent met het beheren van een aantal van de 118,000 WordPress sites die worden gehost door Kinsta, ontdek dan de geavanceerde functies die beschikbaar zijn in al onze Managed WordPress Hosting pakketten.
Laat een reactie achter