Redis è un database chiave-valore open source. I dati in un database di valori-chiave hanno due parti: la chiave e il valore. Poiché Redis può accettare chiavi in un'ampia gamma di formati, le operazioni possono essere eseguite sul server e ridurre il carico di lavoro del client. Redis viene spesso utilizzato per la gestione della cache e per velocizzare le applicazioni web.
Redis è scritto in ANSI C e funziona su sistemi POSIX come Linux, Mac OS X e Solaris. È possibile accedervi dalle applicazioni tramite la sua libreria API client. Redis, che ha un insieme relativamente ricco di tipi di dati rispetto a molti archivi di dati di valori-chiave, mantiene il suo database interamente in memoria, utilizzando il disco solo per la persistenza.
Redis supporta queste strutture di dati:
Stringhe binary-safe: elenchi o raccolte di elementi stringa vengono ordinati in base all'ordine di inserimento.
Insiemi e insiemi ordinati: raccolte di elementi stringa univoci e non ordinati e raccolte in cui ogni elemento stringa è associato a un valore numerico mobile chiamato punteggio.
Hash: mappe composte da campi associati a valori. Sia il campo che il valore sono stringhe.
Matrici di bit (bitmap): utilizza comandi speciali per gestire i valori di stringa come una matrice di bit.
HyperLogLogs: una struttura di dati che può stimare il numero di elementi in un set.
Indici geospaziali: dati archiviati come coppie di coordinate.
Redis 3.0 introduce Redis Cluster, un'implementazione distribuita di Redis che includeva la partizione automatica dei dati e la tolleranza agli errori. Sebbene non esista alcun supporto ufficiale per le build di Windows, Microsoft mantiene una porta Win-64 di Redis su GitHub.
Vedi anche: database in memoria, NoSQL