- Learn
- Redis: la guida
- Amministrazione e configurazione
Amministrazione e configurazione
Abbiamo accennato nelle lezioni precedenti alla configurazione di Redis. Data la sua importanza per la gestione del database, riprendiamo qui il discorso completandolo. Redis basa la sua configurazione su un file denominato redis.conf strutturato su una sintassi molto semplice: tante righe ognuna delle quali costituita da una parola chiave ed un elenco di parametri. La configurazione che diventa operativa nel server può essere fornita in vari modi:
- se avviamo il server senza fornire il path di un file redis.conf, viene caricata una configurazione di default;
- altrimenti, possiamo passare un file di configurazione personalizzato in fase di avvio del server. Nel seguente caso, avvieremo Redis recuperando la configurazione dal file myredis.conf:
> ./redis-server myredis.conf
- possiamo passare i parametri per personalizzare la configurazione al momento del lancio del server:
> sudo ./redis-server --port 6789
- possiamo fornire le impostazioni da standard input:
Dopo aver dato l’invio, si potranno passare parametri e valori fino alla pressione della combinazione di tasti Ctrl+D.> sudo ./redis-server -
Un’opzione interessante è costituita dalla possibilità di fornire configurazioni a runtime senza la necessità di riavviare il server: possiamo farlo con CONFIG SET mentre con CONFIG GET ne andremo a recuperare i valori.
CONFIG SET richiede il nome della proprietà e l’elenco dei parametri che la valorizzeranno:
> CONFIG SET maxmemory 250MB
Con tale comando impostiamo la massima memoria a disposizione del database a 250MB (senza unità di misura la dimensione viene intesa come numero di byte). Per averne conferma possiamo usare CONFIG GET:
> CONFIG GET maxmemory
1) "maxmemory"
2) "262144000"
Il cambio di configurazione è andato così in porto. L’utilità di tutto ciò sta nella mancata esigenza di riavviare il server per poter acquisire le nuove configurazioni: possiamo immaginare quanto ciò sia utile sapendo che servizi in esecuzione molto spesso non possono essere assolutamente interrotti in fase di produzione.
La funzione INFO
A proposito di configurazione, altra funzione già incontrata di sfuggita nelle precedenti lezioni è
INFO. Permette di verificare la configurazione attualmente attiva nonchè un
insieme di parametri che rivelano il corrente stato di lavoro di Redis. Ciò è utile a scopo informativo e, ancora di più, in fase di problem solving
per appurare le cause di eventuali malfunzionamenti. La funzione INFO
deve essere invocata seguita dal nome della
categoria di impostazioni cui siamo interessati. Eccone qui un elenco:
- server: contiene informazioni riguardanti il server in generale. Tra di esse, troveremo nome del sistema operativo, versione di Redis in uso, tipo di architettura della macchina e porta TCP di ascolto;
- clients: concerne tutto ciò che riguarda le connessioni dei client, in primis il numero di quelle attualmente in corso;
- memory: informazioni sul consumo di memoria;
- persistence: tutto ciò che riguarda il salvataggio dei dati su disco. Uno degli aspetti di maggiore interesse di Redis è la varietà di modalità con cui esso può essere utilizzato: persistente, in memoria, finalizzato alla cache;
- stats: sistema di statistiche generali del server. Contiene informazioni di ogni genere sull’accesso al database ma anche alla gestione del suo patrimonio informativo specificando chiavi attualmente in uso e risultati delle interrogazioni sviluppate;
- replication: configurazione riguardante la replica di un database master su uno o più secondari. In fase di verifica di tali configurazioni, sarà possibile sapere se il server ha assunto il ruolo che avevamo pensato per lui (master o slave) e come stia interagendo con il resto della rete;
- cpu: statistiche riguardanti il consumo di CPU;
- commandstats: statistiche sull’uso dei comandi. Particolarmente interessante questa sezione se si ha bisogno di sapere che tipi di operazioni vengono svolte dai client (inserimento di valori o lettura);
- cluster: informazioni sull’eventuale uso di Redis in cluster;
- keyspace: statistiche relative ai database in uso.
Oltre a questo, esiste la possibilità di richiedere INFO all
per ottenere un flusso completo delle
informazioni di cui INFO dispone.
Scegliere un database
Sinora abbiamo utilizzato Redis semplicemente invocando la sua CLI e immettendo dati. Abbiamo trattato un pò lo spazio che trovavamo come unico database esistente. In realtà, in un’installazione Redis ci sono sedici database (numerati da 0 a 15) e quello che abbiamo sempre usato nelle lezioni precedenti non è altro che il numero 0, il primo. Possiamo passare dall’uno all’altro con il comando SELECT. Facciamo qualche esempio. Apriamo la CLI ed inseriamo due valori:
> SET nome "Giancarlo"
> SET numero 150
Tutto ciò è stato inserito nel database numero 0. Spostiamoci in un altro con SELECT
:
> SELECT 8
OK
Avendo cambiato database le chiavi appena inserite non saranno disponibili:
> KEYS *
(emty list or set)
> GET nome
(nil)
> GET numero
(nil)
Tornando però al database precedente troviamo nuovamente disponibili i valori di prima:
> SELECT 0
OK
> GET nome
"Giancarlo"
> GET numero
150
Possiamo terminare questo paragrafo vedendo come possa rilevarsi utile INFO
per monitorare l’utilizzo dei database.
Supponiamo di non avere dati presenti in nessun database e di svoglere le seguenti operazioni:
> SET nome "Gianluca"
OK
> SET citta "Roma"
OK
> SET numero 158
OK
> SET anno 2014
OK
> SELECT 4
OK
> SET citta "Napoli"
OK
> SET anno 2018
OK
> SET numero 221
OK
Si noti che inseriamo nel database iniziale (numero 0) quattro chiavi per poi passare al quinto database (numero 4)
in cui andiamo ad inserire altre tre chiavi. Possiamo avere una panoramica complessiva del database a disposizione mediante il
comando INFO
:
> INFO keyspace
# Keyspace
db0:keys=4,expires=0,avg_ttl=0
db4:keys=3,expires=0,avg_ttl=0
Le ultime due righe restituite forniscono, rispettivamente, informazioni sul database numero 0 (identificativo db0) ed il database numero 4 (db4). Entrambi mostreranno mediante il parametro keys il numero di chiavi sinora esistenti rispecchiando i valori che ci aspettavamo.
Se vuoi aggiornamenti su Database, NoSQL inserisci la tua email nel box qui sotto:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
La tua iscrizione è andata a buon fine. Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi opzionali:
Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.
I Video di HTML.it
Microsoft Windows Server 2012 R2 Essentials Preview
Microsoft ha rilasciato la versione Preview di Windows Server 2012 R2 cioè l’anteprima del nuovo sistema operativo per Workstation e […]