Introdução

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.

  1. Faz parte dos bancos de dados NoSQL não relacionais;
  2. É semelhante ao Memcached, mas possui mais recursos e resolve diversas limitações dele;
  3. 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 encadeada
  • Set:Conjunto desordenado
  • zset(sorted set):Conjunto ordenado
  • Hash:Estrutura hash (similar ao Map)

O Memcached suporta apenas o tipo string, essa é uma das diferenças mais marcantes entre os dois sistemas.

Funcionalidades

  1. 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.
  2. 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.
  3. Alto desempenho
    Os dados ficam prioritariamente na memória, leituras e gravações são extremamente rápidas, muito utilizado como cache distribuído.
  4. 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ísticaRedisMemcached
Tipos de dados5 estruturas básicasApenas string
PersistênciaSuporta RDB/AOFSem persistência
Replicação mestre‑escravoSuportadoSem suporte nativo
Política de despejo memóriaVárias políticas de despejoDespejo LRU

Introdução

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *