Definição básica do Redis
Redis é um software open‑source escrito em ANSI C, um sistema de armazenamento / banco de dados chave‑valor acessível pela rede, com armazenamento em memória e persistência de dados. Ele disponibiliza APIs de cliente para várias linguagens de programação.
- Faz parte dos bancos de dados NoSQL não relacionais;
- É semelhante ao Memcached, mas possui mais recursos e resolve diversas limitações dele;
- Comumente usado como solução de cache complementar para bancos relacionais como o MySQL.
Tipos de dados suportados
String:Tipo string (cadeia de caracteres)List:Lista duplamente encadeadaSet:Conjunto desordenadozset(sorted set):Conjunto ordenadoHash:Estrutura hash (similar ao Map)
O Memcached suporta apenas o tipo string, essa é uma das diferenças mais marcantes entre os dois sistemas.
Funcionalidades
- Suporte a clientes de múltiplas linguagens
Existem SDKs oficiais para Java, C/C++, C#, PHP, JavaScript, Python, Ruby, Perl e outras linguagens, facilitando a integração com projetos. - Sincronização mestre‑escravo
Suporta replicação mestre‑escravo para backups remotos e separação de leitura e escrita, aumentando a disponibilidade do serviço. - Alto desempenho
Os dados ficam prioritariamente na memória, leituras e gravações são extremamente rápidas, muito utilizado como cache distribuído. - Persistência de dados
Dados da memória podem ser salvos em disco, não são perdidos completamente após reiniciar (o Memcached não tem persistência por padrão).
Contexto
No início, o projeto Redis recebeu financiamento, desenvolvimento e manutenção da VMware.
Vamos demonstrar o uso com um exemplo simples de cliente Redis WinForm(C#), um programa introdutório mostrando como conectar o C# ao Redis.
- Definir pares chave‑valor
- Buscar valor por chave
Comparação rápida Redis vs Memcached
| Característica | Redis | Memcached |
|---|---|---|
| Tipos de dados | 5 estruturas básicas | Apenas string |
| Persistência | Suporta RDB/AOF | Sem persistência |
| Replicação mestre‑escravo | Suportado | Sem suporte nativo |
| Política de despejo memória | Várias políticas de despejo | Despejo LRU |
Introdução
Next: Instalação