Redis è un gestore di database NoSQL appartenente alla categoria key/value. Nasce quindi per catalogare informazioni contraddistinguendole con una chiave che ne permette il recupero immediato.
Nel corso degli ultimi anni si è affermato come uno dei dieci tipi di database più usati al mondo, e il più usato tra i NoSQL dopo MongoDB (che però è un database a documenti, e non di tipo key/value). I motivi di questo successo sono da ricercare in vari fattori, che elenchiamo qui di seguito:
- è open-source (sotto licenza BSD);
- conserva i dati in-memory per ottimizzare le prestazioni, contemplando comunque diversi meccanismi di salvataggio persistente su disco;
- gestisce molti tipi di dato per i valori associati alle chiavi: stringhe e numeri, ma anche strutture dati come liste, insiemi e mappe;
- permette di definire una scadenza per le chiavi al termine della quale queste vengono rimosse;
- permette le transazioni;
- può essere configurato in cluster, cioè in modo distribuito, con meccanismi di replication;
- l'interazione è basata su scripting in linguaggio LUA;
- dispone di API per tutti i principali linguaggi di programmazione: Java, PHP, C#, Javascript e molti altri.
La natura chiave/valore rende Redis particolarmente adatto ad usi specifici. Pensiamo a:
- memorizzazione di contenuti temporanei in cache in modo da accelerare applicazioni e ridurre le interazioni in rete;
- conservazione di dati in sessione a supporto dell'attività dell'utente;
- scambio di messaggi usando la chiave come un identificativo per il contenuto in modo da agevolarne il recupero.
Tuttavia, Redis può essere impiegato con successo come database generico per applicazioni dedicate a qualsiasi scopo. Saranno le chiavi ed i diversi tipi di dato a creare i collegamenti nella rete di informazioni.
Provare Redis on line
La guida che qui inizia accompagnerà il lettore passo passo in ogni aspetto di Redis, dall'interazione diretta mediante console all'integrazione in applicazioni fino a configurazioni avanzate multinodo. L'installazione, come vedremo, non comporta grandi difficoltà, ma i concetti che acquisiremo possono essere provati direttamente sulla piattaforma on line Try Redis, dove oltre alla possibilità di effettuare test, sono disponibili anche diversi esercizi pratici.