Cheatsheet

Como se Conectar a um Banco de Dados Redis

Published on March 4, 2020
Default avatar

By Mark Drake

Manager, Developer Education

Português
Como se Conectar a um Banco de Dados Redis

Introdução

O Redis é um datastore ou armazenamento de dados open-source de chave-valor na memória. Se você instalou o Redis localmente ou está trabalhando com uma instância remota, é necessário conectar-se a ele para executar a maioria das operações. Neste tutorial, veremos como se conectar ao Redis a partir da linha de comando, como autenticar e testar sua conexão, bem como fechar uma conexão do Redis.

Como Utilizar Este Guia

Este guia está no formato de referência rápida com trechos de linha de comando independentes. Recomendamos que você pule para qualquer seção que seja relevante para a tarefa que você está tentando concluir.

Os comandos mostrados neste guia foram testados em um servidor Ubuntu 18.04 executando a versão 4.0.9 do Redis. Para configurar um ambiente semelhante, você pode seguir o Passo 1 do nosso guia Como Instalar e Proteger o Redis no Ubuntu 18.04. Vamos demonstrar como esses comandos se comportam executando-os com redis-cli, a interface de linha de comando do Redis. Observe que se você estiver usando uma interface Redis diferente — Redli, por exemplo — a saída exata de certos comandos pode ser diferente.

Como alternativa, você pode provisionar uma instância de banco de dados Redis gerenciada para testar esses comandos, mas observe que, dependendo do nível de controle permitido pelo seu provedor de banco de dados, alguns comandos neste guia podem não funcionar como descrito. Para provisionar um banco de dados gerenciado na DigitalOcean, siga nossa documentação de produto para Managed Databases. Então, você deve instalar ou o Redli ou configurar um túnel TLS para conectar-se ao banco de dados gerenciado por TLS.

Conectando ao Redis

Se você tiver o redis-server instalado localmente, você pode conectar-se à instância Redis com o comando redis-cli:

  1. redis-cli

Isso o levará ao modo interativo do redis-cli, que lhe apresenta um read-eval-print loop (REPL) onde você pode executar os comandos internos do Redis e receber respostas.

No modo interativo, seu prompt de linha de comando será alterado para refletir sua conexão. Neste exemplo e em outros neste guia, o prompt indica uma conexão com uma instância do Redis hospedada localmente (127.0.0.1) e acessada pela porta padrão do Redis (6379):

A alternativa para executar comandos Redis no modo interativo é executá-los como argumentos para o comando redis-cli, da seguinte forma:

  1. redis-cli redis_command

Se você deseja se conectar a um datastore remoto do Redis, poderá especificar seu host e número de porta com as flags -h e -p, respectivamente. Além disso, se você configurou seu banco de dados Redis para exigir uma senha, você pode incluir a flag -a seguido da sua senha para se autenticar:

  1. redis-cli -h host -p port_number -a password

Se você definiu uma senha no Redis, os clientes poderão se conectar ao Redis, mesmo que não incluam a flag -a no comando redis-cli. No entanto, eles não poderão adicionar, alterar ou consultar dados até que sejam autenticados. Para autenticar após a conexão, use o comando auth seguido da senha:

  1. auth password

Se a senha passada para auth for válida, o comando retornará OK. Caso contrário, ele retornará um erro.

Se você estiver trabalhando com um banco de dados Redis gerenciado, seu provedor de nuvem poderá lhe fornecer um URI que comece com redis:// ou rediss://, que você pode usar para acessar seu datastore. Se a string de conexão começar com redis://, você poderá incluí-la como um argumento para o redis-cli para conectar.

No entanto, se você tiver uma string de conexão que comece com rediss://, isso significa que seu banco de dados gerenciado requer conexões através de TLS/SSL. O redis-cli não suporta conexões TLS, portanto você precisará usar uma ferramenta diferente que suporte o protocolo rediss para conectar-se ao URI. Para os bancos de dados gerenciados da DigitalOcean, que exigem que as conexões sejam feitas por TLS, recomendamos o uso do Redli para acessar a instância do Redis.

Use a seguinte sintaxe para conectar-se a um banco de dados com Redli. Observe que este exemplo inclui a opção --tls, que especifica que a conexão deve ser feita através de TLS, e a flag -u, que declara que o seguinte argumento será um URI de conexão:

  1. redli --tls -u rediss://connection_URI

Se você tentou se conectar a uma instância indisponível, o redis-cli entrará no modo desconectado. O prompt refletirá isso:

O Redis tentará restabelecer a conexão toda vez que você executar um comando quando estiver em modo desconectado.

Testando Conexões

O comando ping é útil para testar se a conexão com um banco de dados está ativa. Observe que este é um comando específico do Redis e é diferente do utilitário de rede ping. No entanto, os dois compartilham uma função semelhante, pois ambos são usados para verificar uma conexão entre duas máquinas.

Se a conexão estiver ativa e nenhum argumento for incluído, o comando ping retornará PONG:

  1. ping
Output
PONG

Se você fornecer um argumento para o comando ping, ele retornará esse argumento em vez de PONG se a conexão for bem-sucedida:

  1. ping "hello Redis!"
Output
"hello Redis!"

Se você executar ping ou qualquer outro comando no modo desconectado, verá uma saída como esta:

  1. ping
Output
Could not connect to Redis at host:port: Connection refused

Note que o ping também é usado internamente pelo Redis para medir a latência.

Desconectando do Redis

Para desconectar-se de uma instância Redis, use o comando quit:

  1. quit

Executar exit também sairá da conexão:

  1. exit

Ambos quit e exit fecharão a conexão, mas apenas assim que todas as respostas pendentes forem gravadas nos clientes.

Conclusão

Este guia detalha vários comandos usados para estabelecer, testar e fechar conexões com um servidor Redis. Se houver outros comandos, argumentos ou procedimentos relacionados que você queira ver neste guia, peça ou faça sugestões nos comentários abaixo.

Para obter mais informações sobre comandos Redis, consulte nossa série de tutoriais Como Gerenciar um Banco de Dados Redis.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar

Manager, Developer Education

Technical Writer @ DigitalOcean



Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel