Redis

Redis é uma base de dados de valores chave de código aberto. Dados em uma base de dados de valores chave tem duas partes: a chave e o valor. Como a Redis pode aceitar chaves em uma grande variedade de formatos, as operações podem ser executadas no servidor e reduzir a carga de trabalho do cliente. Redis é frequentemente usado para gerenciamento de cache e aceleração de aplicações web.

Redis é escrito em ANSI C e roda em sistemas POSIX como Linux, Mac OS X e Solaris. Ele pode ser acessado por aplicações através de sua biblioteca API cliente.  Redis, que tem um conjunto relativamente rico de tipos de dados quando comparado a muitos armazéns de dados de valor chave, mantém sua base de dados inteiramente na memória, usando o disco apenas para persistência.

Redis suporta estas estruturas de dados:

Binary-safe strings - listas ou coleções de elementos string são ordenadas de acordo com a ordem de inserção.

Conjuntos e conjuntos ordenados - colecções de elementos de string únicos e não ordenados e colecções em que cada elemento de string está associado a um valor de número flutuante chamado score.

Hashes - mapas compostos de campos associados a valores. Tanto o campo quanto o valor são strings.

Arrays de bits (bitmaps) - usam comandos especiais para lidar com valores de strings como um array de bits.

HyperLogLogs - uma estrutura de dados que pode estimar o número de itens em um conjunto.

Geospatial indexes - dados que são armazenados como pares de coordenadas.

Redis 3.0 introduz o Redis Cluster, uma implementação distribuída do Redis que incluiu a fragmentação automática de dados e a tolerância a falhas. Embora não haja suporte oficial para compilações do Windows, a Microsoft mantém uma porta Win-64 do Redis no GitHub.

Ver também: in-memory database, NoSQL