Redis is een afstandsbediening datastructuur server. Het is zeker langzamer dan alleen het opslaan van de gegevens in het lokale geheugen (omdat het socket-roundtrips met zich meebrengt om de gegevens op te halen/op te slaan). Het brengt echter ook enkele interessante eigenschappen met zich mee:
-
Redis is toegankelijk voor alle processen van uw applicaties, mogelijk draaiend op meerdere knooppunten (iets dat het lokale geheugen niet kan bereiken).
-
Redis-geheugenopslag is vrij efficiënt en gebeurt in een apart proces. Als de applicatie draait op een platform waarvan het geheugen wordt verzameld (node.js, java, enz ...), kan het een veel grotere geheugencache/store verwerken. In de praktijk presteren zeer grote hopen niet goed met afvalverzameltalen.
-
Redis kan indien nodig de gegevens op schijf bewaren.
-
Redis is iets meer dan een eenvoudige cache:het biedt verschillende datastructuren, verschillende beleidsmaatregelen voor het verwijderen van items, wachtrijen blokkeren, pub/sub, atomicity, Lua-scripting, enz ...
-
Redis kan zijn activiteit repliceren met een master/slave-mechanisme om hoge beschikbaarheid te implementeren.
Kortom, als u uw toepassing nodig heeft om te schalen op meerdere knooppunten die dezelfde gegevens delen, dan is zoiets als Redis (of een andere externe sleutel/waardeopslag) vereist.