"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Redis

Redis

Publicado em 2024-11-06
Navegar:926

Redis

Redis é um banco de dados NOSQL no qual os dados são armazenados em pares de valores-chave.
O Redis armazena dados na memória principal, o que significa que é rápido, mas volátil, ao contrário de sistemas de banco de dados como PostgreSQL, que armazena dados em disco.

Visão geral

Em uma aplicação com servidor e banco de dados, acessar informações no banco de dados causará latência.

Bancos de dados de valores-chave como redis são frequentemente mantidos na frente desses bancos de dados e as operações de acesso levam 2 etapas:

  1. Se a informação estiver no cache, cache hit, a aplicação recupera as informações do redis e as envia para o cliente
  2. Caso contrário, cache miss, a aplicação pega as informações do banco de dados, envia para o cliente e armazena no cache.

Com essas 2 etapas e dado que a memória principal tem menor latência que o disco, podemos dizer que o redis pode ser usado para armazenar e acessar dados recentes e frequentes e operações caras, tornando os aplicativos 10 a 50x mais rápidos.

É portanto um fato que se você pretende construir um aplicativo que será escalonável no futuro, o Redis(ou bancos de dados semelhantes ao Redis) é indispensável.


Questões

  1. O Redis é código aberto?: Sim, o Redis é código aberto com um tipo especial de licença, mas existem alternativas como KeyDB do Snapchat e Memcached que são de código aberto. KeyDB é um fork do Redis, mas a partir de agora só pode ser executado em Linux.

  2. O Redis oferece suporte ao Windows?: Não, o Redis não oferece suporte ao Windows, mas você pode instalar WSL/Ubuntu e instalar o redis usando

sudo apt install redis
  1. Estou usando WSL, por que o servidor redis não está funcionando no meu sistema: Ao executar no WSL, você pode executar o servidor redis usando
redis-server --port 6000

onde 6000 é a porta do servidor local em que você deseja executá-lo. (ou seja, 127.0.0.1:6000).

A maioria dos problemas se deve ao fato de que a porta padrão que o redis-server está usando já está sendo usada

  1. Existem bibliotecas clientes para Redis?: Na verdade, sim. você pode encontrá-los no site do Redis ou pode criar um você mesmo.

Instalando Redis

No Linux, instalar o redis é tão simples quanto

sudo apt install redis

ou no Mac:

brew install redis

Executando Redis

Você precisa ter 2 instâncias do seu terminal em

no primeiro a executar seu servidor

redis-server -port 

e no segundo para executar seu cliente

redis-cli

Ao construir um aplicativo da web, você não precisa executar o cliente , mas o servidor precisa estar em execução

Conceitos Redis

Existem 3 conceitos principais em redis que você deve entender ou 4

  1. Pares de valores-chave
  2. Listas
  3. Conjuntos
  4. Hashes

Todas as outras estruturas de dados são principalmente uma implementação avançada da primeira

Por lista, eu quis dizer array e não lista vinculada e é assim que o redis a chama.


Pares de valores-chave

Os pares de valores-chave são uma estrutura de dados comum na maioria das linguagens de programação.

  1. Em Python é chamado de dicionários ou dict em resumo

  2. Em Javascript é chamado de Mapas

  3. Em C# é chamado de Dicionários

Existem 6 operações principais para pares de valores-chave no Redis

Operações Explicações Exemplos Explicações adicionais
DEFINIR Cria um par de valores-chave DEFINIR nome João Define a chave para mapear o valor
PEGAR Obtém o valor da chave OBTER nome Isso retorna John
DEL Exclui o par de valores-chave Nome DEL Isso remove o nome do par de valores-chave do banco de dados
EXISTE Verifica se existe uma chave no banco de dados redis EXISTE nome retorna 1 ou 0 correspondente a Verdadeiro ou Falso
FLUSHALL Limpa todo o cache FLUSHALL mais ou menos como DROP TABLE no postgres
CHAVES * Retorna todas as chaves do banco de dados CHAVES *

Também existem operações baseadas em tempo. Em operações baseadas em tempo, a chave fica no cache apenas por um determinado período de tempo; após o tempo expirar, o cache exclui a chave.

Existem 2 operações principais baseadas em tempo

Operações Explicações Exemplos Explicações adicionais
EXPIRAR Expira uma chave após ser definida EXPIRE nome 10 Exclui o nome do valor-chave após 10s. A chave deve ser definida com SET antes de chamar EXPIRE. Uma alternativa comum é;
SETEX Expira uma chave após definição SETEX 30 15 anos Define a idade da chave para o valor 30 e, posteriormente, exclui o par de valores-chave após 15s
TTL Hora de viver Idade TTL Retorna o tempo restante antes da exclusão da chave de idade

O Blog está ficando muito longo agora, falarei sobre listas, sets, hashmaps e também possíveis perguntas de entrevista sobre redis em outro blog.

Por favor, se você tiver dúvidas, comente-as abaixo, farei o possível para respondê-las ⭐. Boa codificação

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/ezekiel_77/redis-3njh?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3