Redis is software voor het opslaan van gegevens in het werkgeheugen van een server, waardoor lezen en schrijven zeer snel gaat. Het wordt vooral gebruikt voor caching, sessies en wachtrijen. Redis bewaart gegevens als sleutel met een bijbehorende waarde, niet in tabellen.

Waarvoor Redis wordt gebruikt

Redis wordt meestal naast een gewone database geplaatst, niet in plaats daarvan. Veelvoorkomende toepassingen zijn:

  • cache: uitkomsten van zware berekeningen of databasevragen bewaren, zodat ze niet steeds opnieuw nodig zijn;
  • sessies: bijhouden wie is ingelogd of wat er in een winkelwagen zit;
  • wachtrijen: taken als het versturen van e-mails op volgorde laten uitvoeren;
  • tellers, bijvoorbeeld om het aantal verzoeken per gebruiker te beperken.

Hoe Redis werkt

Redis slaat gegevens op onder een naam, de sleutel. Een voorbeeld is een sleutel voor een bezoeker met als waarde de gegevens van diens sessie. Behalve losse tekst kent Redis ook lijsten, sets en hashes, waarmee gegevens gestructureerd bewaard kunnen worden.

Omdat het werkgeheugen veel sneller is dan een harde schijf, is Redis snel. Gegevens kunnen op verzoek ook naar schijf worden weggeschreven, zodat ze een herstart overleven. Redis is daarmee een soort database die in het geheugen draait.

Beperkingen

Werkgeheugen is beperkt en duurder dan schijfruimte. Redis is daarom bedoeld voor gegevens die snel beschikbaar moeten zijn, niet voor het bewaren van alle gegevens van een website. Daarvoor blijft een database zoals MySQL nodig.

Staat het wegschrijven naar schijf uit, dan kunnen gegevens bij een herstart van de server verloren gaan. Dat is bij een cache geen probleem, omdat die opnieuw kan worden opgebouwd, maar bij andere gegevens wel.