sql >> Database >  >> NoSQL >> Redis

Eerste stappen met Redis

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

  1. Hoe de prestaties van ClusterControl en zijn componenten te optimaliseren

  2. Hoe multitenancy voor redis in spring boot te implementeren?

  3. Breng uw eigen Azure-accounts mee - Hosting voor MongoDB® &Redis™ bij ScaleGrid

  4. MongoDB niet geautoriseerd voor zoekopdracht - code 13