Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

GET e SET

Scrivere e leggere i dati con le operazioni di base supportate per l'interazione con il database NoSQL Redis: i comandi GET e SET.
Scrivere e leggere i dati con le operazioni di base supportate per l'interazione con il database NoSQL Redis: i comandi GET e SET.
Link copiato negli appunti

Redis gestisce qualsiasi dato semplice, cioè qualsiasi tipo di informazione binaria o testuale, che non richiedano una struttura dati: ciò grazie all'uso delle stringhe (che tratteremo nella prossima lezione). Mette pertanto a disposizione un gran numero di funzioni che saranno trattate in questa lezione e la successiva. Prima di affrontare la sperimentazione pratica, ricordiamo che occorre predisporre un’ambiente di lavoro che comprenda un’installazione attiva del server e la console interattiva per impartire comandi dal lato client: le informazioni necessarie sono disponibili nelle precedenti lezioni.

Scrivere e leggere dati

Le prime operazioni che dobbiamo imparare a fare consistono nell'inserire una stringa legata ad una chiave con la funzione
SET e leggerne il valore con GET.

Creiamo due chiavi, citta e prezzo, contenenti rispettivamente i valori "Torino" e 55.98:

> SET citta Torino
OK
> SET prezzo 55.98
OK
> GET citta
"Torino"
> GET prezzo
"55.98"

Con la funzione SET abbiamo effettuato l'inserimento, mentre con GET abbiamo letto il valore corrispondente alla chiave.
Se la stringa da immagazzinare è composta da più parole, è obbligatorio usare i doppi apici. Entrambi i valori sono
stati salvati come stringhe, come conferma l'output della funzione TYPE:

> TYPE citta
string
> TYPE prezzo
string

Con la funzione KEYS possiamo inoltre verificare che il nostro database contenga due chiavi:

> KEYS *
 1) "citta"
 2) "prezzo"

È possibile effettuare anche inserimenti e letture multiple. Per i primi usiamo la funzione MSET alla quale passiamo, alternatamente, una chiave ed il relativo valore, ripetendo per il numero di elementi da inserire. Per la lettura multipla, usiamo invece MGET fornendo solo la sequenza di chiavi per ottenere, in ordine, l'elenco dei valori. Nel seguente esempio, usiamo come chiavi concatenazioni di nomi e cognomi per registrare dei numeri di telefono:

> MSET Rossi_Gianluca 33492839488 Verdi_Elena 3492039800 Bianchi_Simone 3479120339
OK
> KEYS *
1) "Verdi_Elena"
2) "Rossi_Gianluca"
3) "Bianchi_Simone"
> MGET Verdi_Elena Bianchi_Simone
1) "3492039800"
2) "3479120339"
> GET Verdi_Elena
"3492039800"

Abbiamo inserito i numeri in gruppo e poi li abbiamo letti sia prendendo un sottinsieme delle chiavi sia scegliendone solo uno.
Esistono poi delle versioni particolari di tali metodi che permettono di inserire un nuovo valore leggendo il vecchio se esistente (GETSET)
e di eseguire inserimenti singoli e multipli solo se la chiave non esiste (rispettivamente: SETNX e MSETNX).
Ecco alcuni esempi:

> GETSET Rossi_Gianluca 3280933819
"33492839488"
> GET Rossi_Gianluca
"3280933819"
> SETNX Verdi_Elena 3290938477
(integer) 0
> SETNX Verdi_Silvia 3290938477
(integer) 1

Nel primo caso, abbiamo inserito un nuovo valore per la chiave Rossi_Gianluca, ricevendo immediatamente, per una sola volta, il vecchio valore. Subito dopo abbiamo provato con SETNX ad inserire un nuovo valore per Verdi_Elena (chiave già esistente) e Verdi_Silvia (chiave non esistente): nel primo caso l'operazione non va in porto (risultato 0), nel secondo sì (risultato 1).

Ti consigliamo anche