Quando Redis è attivo e funzionante, puoi iniziare a usarlo!
Il modo più semplice è usare redis-cli
, un'applicazione installata durante l'installazione di Redis.
È un modo integrato per scrivere comandi su Redis senza dover configurare un'applicazione per farlo.
Puoi connetterti a un server Redis remoto usando redis-cli -h <host> -p <port> -a <password>
Una volta che sei nell'app Redis CLI, puoi iniziare a memorizzare i dati al suo interno.
Aggiungere un valore utilizzando la struttura SET <key> <value>
:
SET name "Flavio"
Recupera un valore
Recupera un valore usando la struttura GET <key>
:
Verifica se esiste una chiave
Possiamo anche verificare se esiste una chiave usando EXISTS <key>
:
Il comando restituisce 1 (esiste) o 0 (non esiste).
Imposta se non esiste
Una variazione di SET
ci consente di impostare una chiave solo se non esiste ancora:
SETNX name "Roger"
Elimina una chiave
Eliminare una chiave utilizzando DEL <key>
:
Elencare le chiavi esistenti
Puoi elencare tutte le chiavi inserite usando KEYS *
Oppure puoi filtrare usando uno schema come KEYS n*
per elencare solo le chiavi che iniziano con n
, per esempio.
Ogni valore memorizzato può contenere fino a 512 MB di valore.
Chiavi in scadenza
Una chiave può essere memorizzata temporaneamente e rimossa automaticamente allo scadere del timer:
SETEX <key> <seconds> <value>
È possibile ottenere il tempo rimanente per la cancellazione di una chiave utilizzando TTL <key>
In questo esempio ho impostato un name
chiave con Flavio
come valore e usando TTL posso controllare quanto tempo è rimasto prima che la chiave restituisca il valore. Una volta scaduto il timer, risulta in un valore nullo (nil
):
Puoi anche impostare la scadenza di una chiave esistente utilizzando EXPIRE <key> seconds>
.
Incrementa e decrementa
Un valore numerico può essere incrementato usando INCR <key>
e decrementato usando DECR <key>
. Puoi anche usare INCRBY <key> <amount>
e DECRBY <key> <amount>
per incrementare un valore chiave di un importo specifico:
Questi comandi sono molto adatti per operazioni simultanee elevate in cui molti client potrebbero interagire con gli stessi dati, per garantire transazioni atomiche .
L'esempio più comune è quando 2 client diversi tentano di incrementare lo stesso numero.
Su un database come PostgreSQL o MongoDB ottieni prima il valore numerico, lo incrementi, quindi fai una richiesta al server per incrementarlo.
Supponiamo che il valore sia 1
. Se due client leggono il valore usando GET
poi chiamano SET
per incrementarlo in modo indipendente, alla fine se non c'è nulla che impedisca la modifica simultanea, il risultato sarà 2
. Redis previene questo problema alla radice.
Strutture dati più complesse
Finora abbiamo lavorato con tipi di dati semplici come interi e stringhe.
Redis può supportare strutture più complesse.
Vediamo nelle prossime lezioni come lavorare con:
- Elenchi
- Set
- Insiemi ordinati
- Hash