"Se ci sono due o più modi di fare una cosa,
e uno di questi modi può condurre a una catastrofe,
allora qualcuno la farà in quel modo.

(Edward Murphy)

Redis nosql come iniziare smanettarci con php

Gio, 12/01/2012 - 00:00 -- arturu
Redis no-sql php

Da qualche giorno ho scoperto Redis e mi sto domando come iniziare ad utilizzarlo. Redis in parole povere è un database che lavora sulla ram, installato su un normale computer con un processore a singolo core riesce ad eseguire più di 100.000 operazioni di lettura/scrittura al secondo. Avete presente memcache, aggiungete il supporto per per le liste e lo storage basato su disco, ecco, questo è più o meno Redis. Redis lo potete usare come database delle code o come server cache o in entrambi i modi. Forse è meglio farsi spiegare cos'è Redis dal suo sviluppatore "Salvatore Sanfilippo":

Redis è un database un pò bizzarro, rispetto ai canoni a cui siamo abituati, per due motivi principali: 1) Tiene tutti i dati in memoria anche se persiste sul disco. In pratica il disco serve solo nel caso in cui il database viene fermato e riavviato, a leggere nuovamente tutto il data set in memoria. Ma tutti gli accessi in lettura e scrittura vengono gestiti principalmente in RAM. Questo permette ad un singolo server Redis che gira su una macchina Linux normalissima, su un solo core, di raggiungere l’interessante prestazione di 100 mila query al secondo. Cosa più interessante le query in lettura e scrittura prendono lo stesso tempo. 2) Le operazioni che supporta sono molto diverse da quelle di un database SQL. Non c’è il concetto di tabella, e non è un semplice database Key-Value a cui si associa ad una stringa (la chiave) un’altra stringa (il valore). Infatti i valori possono essere di altri tipi, come liste, insiemi, insiemi ordinati, o semplicemente stringhe.

Tratto da un'intervista di Salvatore Sanfilippo su ossblog.it Bhe vediamo di smanettarci un po' su... Prima di tutto bisogna installare il server, su un sistema come ubuntu eseguiamo:

 sudo apt-get install redis-server

Appena installato il server partirà sulla porta 6379. Per accedere tramite PHP al server Redis esistono molteplici librerie tra le quali: Predis e Rediska. Invece su questo link trovate le librerie Redis per tutti gli altri linguaggi. Senza che faccio copia e incolla, cosa che non mi piace tanto, potete trovare degli esempi su: kevin.vanzonneveld.net, predis, antirez.com. Qua trovate un articolo interessante sulle prestazioni. Poi se non vi va d'installare niente potete sempre fare una prova su questo sito. La documentazione ufficiale la trovate qua. Se vi piace il progetto e avete 30 minuti liberi potete leggere Redis Zero To Master In 30 Minutes

Saluti a tutti, scusate se stavolta sono stato proprio rapido... :)