Cos’è e come funziona il database NoSQL Redis

Quando si parla di Redis si fa riferimento a un DBMS NoSQL di tipo key/value storage che è stato rilasciato per la prima volta nel 2009.

Redis si caratterizza per una struttura a dizionario, dal momento che ciascun valore immagazzinato risulta abbinato a una chiave univoca in virtù della quale ne viene reso possibile il recupero.

Caratteristiche e vantaggi di Redis

Nel novero dei database NoSQL, Redis offre alcuni vantaggi significativi, a cominciare dal fatto che tutte le operazioni sono atomiche. Questo significa che, anche in presenza di accessi diversi compiuti da client differenti, si hanno dati sempre aggiornati.

Un’altra peculiarità che merita di essere evidenziata è la notevole velocità: le eccellenti prestazioni, sia in lettura che in scrittura, sono dovute al fatto che i dati sono conservati in memoria RAM e salvati solo in un secondo momento in modo persistente.

A tal proposito, è bene sottolineare che Redis vanta una consistente varietà di tipologie di dati differenti, così che i valori possono assumere molteplici forme a dispetto della struttura a dizionario dell’archivio: non solo dizionari, ma anche liste, e così via. Ecco perché tale DBMS NoSQL può essere considerato un gestore di strutture dati persistenti, che in più offre l’opportunità di implementare configurazioni multi-nodo.

La messa in atto di una persistenza su memoria di massa vera e propria costituisce una mansione preziosa per Redis, in virtù della quale è possibile assicurare, anche in caso di riavvio del server, il mantenimento del database. Lo stesso si può dire anche se si dovessero verificare dei guasti a livello di hardware o semplicemente un’interruzione della fornitura di energia elettrica.

Sono due i meccanismi di persistenza di cui dispone Redis: quello che viene attuato di default è RDB, che rappresenta una specie di snapshot in virtù del quale si salvano i dati conservati nel server su disco. L’altro è AOF (acronimo di Append Only File), che dà vita a un file di log continuo su cui sono riportate le operazioni di modifica che vengono trasmesse al server.

Tipologie di dati in Redis

Come anticipato, una peculiarità di Redis è quella della varietà delle tipologie di dato: la versatilità dei formati non dipende, comunque, solo da questa varietà, ma anche dal numero di funzioni a corredo che favoriscono la loro manipolazione.

Il valore che viene archiviato in corrispondenza di una chiave può rappresentare una struttura dati e, inoltre, può essere differente rispetto a una stringa. Le stringhe possono essere considerate tra i tipi di dati più semplici e fanno della flessibilità una caratteristica distintiva, dal momento che sono capaci di contenere, oltre ai dati in formato binario, qualsiasi altro tipo di dato.

Un elenco di stringhe indicizzate va a formare una lista, la quale può essere modificata con inserimenti in testa o in coda.

Tra gli altri tipi di dati si segnalano gli hash, che sono oggetti dizionario che funzionano con lo storage di tipo chiave/valore, esattamente come la macrostruttura da cui dipende Redis, e i set, che – invece – sono collezioni di valori non ordinate, che non ammettono duplicati a differenza di quel che accade con le liste.

Infine ci sono i sorted set, cioè gli insiemi ordinati, che non sono altro che versioni modificate dei set: come questi, sono insiemi di stringhe che non ammettono ai duplicati, con in più un valore incluso, lo score, in funzione del quale i valori degli insiemi possono essere ordinati.

Condividi