Durante questi ultimi anni, le tecniche e gli strumenti usati per la persistenza e la ricerca dei dati hanno avuto una forte crescita. Anche se, quasi sicuramente, non saranno mai abbandonati i database relazionali, possiamo sicuramente dire che il panorama attorno alle basi di dati è cambiato radicalmente ed è in continua evoluzione.
Tra tutti questi nuovi strumenti spicca Redis, un database non relazione molto interessante sotto molti punti di vista: alte prestazioni, facilità di apprendimento e adattabile alle esigenze del programmatore.
Redis è un database non relazione nato nel 2009 per mano di Salvatore SanFilippo, inizialmente sponsorizzato da vmware ora è supportato da Pivotal.
È un NoSql di tipo Key/Value ma ha due caratteristiche che lo rendono molto diverso dagli altri database della sua stessa categoria: la prima è che lavora completamente in RAM; la seconda è che oltre a fornire il classico salvataggio delle informazioni tramite coppie chiave-valore offre ben altre quattro strutture dati: liste, insiemi, insiemi ordinati e hash.
Redis anche se lavora in ram utilizza la memoria secondaria per offrire persistenza dei dati:
Pieter Noordhuis ha fornito un grande esempio utilizzando EventMachine e Redis per creare una multi chat ad alte prestazioni. (https://gist.github.com/pietern/348262) .
Abbiamo sviluppo molte applicazioni che utilizzano redis come database e possiamo dire che le prestazioni sono molto performante. Se uniamo:
Redis + nodejs = Un Web Performante in Real Time