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.
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.
Se você tiver o redis-server
instalado localmente, você pode conectar-se à instância Redis com o comando redis-cli
:
- 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:
- 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:
- 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:
- 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:
- 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.
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
:
- ping
OutputPONG
Se você fornecer um argumento para o comando ping
, ele retornará esse argumento em vez de PONG
se a conexão for bem-sucedida:
- ping "hello Redis!"
Output"hello Redis!"
Se você executar ping
ou qualquer outro comando no modo desconectado, verá uma saída como esta:
- ping
OutputCould not connect to Redis at host:port: Connection refused
Note que o ping
também é usado internamente pelo Redis para medir a latência.
Para desconectar-se de uma instância Redis, use o comando quit
:
- quit
Executar exit
também sairá da conexão:
- exit
Ambos quit
e exit
fecharão a conexão, mas apenas assim que todas as respostas pendentes forem gravadas nos clientes.
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.
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!