Wanneer u Redis in gebruik heeft, kunt u het gaan gebruiken!
De eenvoudigste manier is om redis-cli
. te gebruiken , een applicatie die is geïnstalleerd wanneer u Redis installeert.
Het is een ingebouwde manier om opdrachten naar Redis te schrijven zonder dat u hiervoor een toepassing hoeft in te stellen.
U kunt verbinding maken met een externe Redis-server met behulp van redis-cli -h <host> -p <port> -a <password>
Zodra u zich in de Redis CLI-app bevindt, kunt u er gegevens in gaan opslaan.
Voeg een waarde toe met behulp van de structuur SET <key> <value>
:
SET name "Flavio"
Een waarde ophalen
Haal een waarde op met behulp van de structuur GET <key>
:
Controleer of er een sleutel bestaat
We kunnen ook controleren of een sleutel bestaat met behulp van EXISTS <key>
:
Het commando retourneert ofwel 1 (bestaat) of 0 (bestaat niet).
Instellen indien niet bestaat
Een variatie van SET
stelt ons in staat om alleen een sleutel in te stellen als deze nog niet bestaat:
SETNX name "Roger"
Een sleutel verwijderen
Een sleutel verwijderen met DEL <key>
:
Bestaande sleutels weergeven
U kunt alle ingevoegde sleutels weergeven met KEYS *
Of je kunt filteren met een patroon zoals KEYS n*
om alleen sleutels weer te geven die beginnen met n
, bijvoorbeeld.
Elke opgeslagen waarde kan een waarde van 512 MB bevatten.
Verlopen sleutels
Een sleutel kan tijdelijk worden opgeslagen en automatisch worden verwijderd wanneer de timer afloopt:
SETEX <key> <seconds> <value>
U kunt de resterende tijd voor het wissen van een sleutel verkrijgen met TTL <key>
In dit voorbeeld stel ik een name
in toets met Flavio
als waarde, en met TTL kan ik controleren hoeveel tijd er nog is voordat de sleutel de waarde retourneert. Zodra de timer afloopt, resulteert dit in een null-waarde (nil
):
U kunt ook instellen dat een bestaande sleutel verloopt met EXPIRE <key> seconds>
.
Verhogen en verlagen
Een numerieke waarde kan worden verhoogd met INCR <key>
en verlaagd met behulp van DECR <key>
. U kunt ook INCRBY <key> <amount>
. gebruiken en DECRBY <key> <amount>
om een sleutelwaarde met een bepaald bedrag te verhogen:
Deze commando's zijn zeer geschikt voor veel gelijktijdige operaties waarbij veel clients met dezelfde gegevens kunnen interageren, om atomaire transacties te verzekeren. .
Het meest voorkomende voorbeeld is wanneer 2 verschillende clients hetzelfde aantal proberen te verhogen.
Op een database zoals PostgreSQL of MongoDB krijg je eerst de getalwaarde, je verhoogt deze en vervolgens doe je een verzoek aan de server om deze te verhogen.
Stel dat de waarde 1
is . Als twee clients de waarde lezen met GET
dan bellen ze SET
om het onafhankelijk te verhogen, als er niets is dat de gelijktijdige wijziging verhindert, is het resultaat 2
. Redis voorkomt dit probleem bij de wortel.
Complexere datastructuren
Tot nu toe hebben we gewerkt met eenvoudige gegevenstypen zoals gehele getallen en tekenreeksen.
Redis kan complexere structuren ondersteunen.
Laten we in de volgende lessen kijken hoe we kunnen werken met:
- Lijsten
- Sets
- Gesorteerde sets
- Hashes