Tipi di dato

12 gennaio 2018

Ciò che rende Redis uno dei più importanti database del mondo NoSQL è la varietà di tipologie di valori che possono essere impiegati. Per ognuna di esse, esiste un set di funzioni ricco che rende l’uso di questo sistema particolarmente intuitivo e veloce nell’interazione. Distinguiamo due categorie fondamentali tra i tipi di dato: le stringhe e le strutture dati.

Stringhe

Le stringhe assumono un significato molto importante in Redis non solo perchè rappresentano uno dei tipi di dato fondamentali, ma anche perchè sono concepite in modo da poter ospitare qualsiasi informazione che non richieda una struttura dati. Innanzitutto possono essere utilizzate come comuni stringhe per immagazzinare informazioni alfanumeriche, con la possibilità di manipolarle in maniera efficiente. In secondo luogo, una stringa può contenere dati numerici, supporrtando anche operazioni di incremento e decremento, aspetti che trovano applicazioni molto varie e comuni. Inoltre, alcune funzioni messe a disposizione permettono la manipolazione di singoli bit, offrendo spunto a libere interpretazioni dei dati inclusi. Se lo scopo della stringa è quello di essere usata totalmente come aggregato di bit, si parla di Bitmap.

Un aspetto molto interessante è che le stringhe in Redis non sono destinate solo ad immagazzinamento di caratteri, ma sono concepite come binary safe. Quest’ultimo aspetto permette di inserirvi dati binari provenienti da informazioni non testuali come immagini o molti altri formati. A supporto di questi tipi di utilizzo, si consideri che una singola stringa può avere una dimensione massima di 512 Megabyte, spazio sufficiente per la custodia di informazioni piuttosto ampie.

Strutture dati

Le strutture dati permettono di aggregare più stringhe in corrispondenza di un’unica chiave, e soprattutto, in base alla tipologia, forniscono discipline di accesso a tali valori. In Redis, esistono tutti i tipi principali che incontriamo nella comune programmazione, proprio per fare in modo che lo sviluppatore non senta la mancanza di nessun meccanismo di base: su questi potranno essere costruite poi logiche di accesso più evolute.

Ecco le quattro strutture dati che Redis mette a disposizione:

  • liste: si tratta di sequenze di valori semplici che vengono memorizzati in sequenza con memorizzazione dell’ordine di inserimento e contemplazione dei duplicati. Possono contenere fino a 232-1 elementi (più di 4 miliardi) sebbene sia da tenere in considerazione che liste molto grandi possono risultare poco efficienti. Per le liste, si possono immaginare utilizzi analoghi a quelli dell’ambito della programmazione procedurale;
  • insiemi: molto simili alle liste a livello di struttura, se ne differenziano per natura. Gli insiemi sono aggregati non ordinati di valori che non ammettono la presenza di duplicati. Offrono tempistiche di accesso pressocché identiche per qualsiasi elemento indipendentemente dal numero di elementi presenti nell’insieme;
  • insiemi ordinati: simili ai precedenti, con la differenza che ad ogni elemento è abbinato un punteggio, detto score, a cui si può attribuire qualsiasi significato. Lo score permette di sottoporre ad ordinamento gli elementi;
  • mappe hash: sono strutture di tipo chiave/valore che aggregano coppie di chiavi e stringhe, con una capacità massima pari a 232-1 coppie. Tale struttura permette di stabilire un parallelo con tipi di dato usati nella programmazione basati sull’immagazzinamento di valori distinti da un’etichetta come il formato JSON o gli oggetti dei linguaggi di programmazione ad oggetti.

La funzione TYPE

Ora che abbiamo un quadro completo dei possibili tipi di valori utilizzabili in Redis, nelle prossime lezioni inizieremo una carrellata di esempi e casi d’uso per ognuno di essi, che torneranno utili quando creeremo i nostri database NoSQL. Tra le tante funzioni che impareremo ad usare ce n’è una che in questa fase di apprendimento sarà molto utile: la funzione TYPE, che permetterà di verificare sempre a quale tipo di valore ci stiamo riferendo con una determinata chiave. I risultati che TYPE offre sono string per le stringhe, list per le liste, set per gli insiemi, zset per gli insiemi ordinati e hash per le mappe hash

.

Tutte le lezioni

1 2 3 4 ... 16

Se vuoi aggiornamenti su Tipi di dato inserisci la tua e-mail nel box qui sotto:
Tags:
 
X
Se vuoi aggiornamenti su Tipi di dato

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento dei dati per attività di marketing