O Redis é um armazenamento de dados em memória de chave-valor, sem esquema, para aplicativos em tempo real. Os desenvolvedores podem usá-lo como um banco de dados NoSQL, uma camada de dados secundária ou uma camada de cache para processos intensivos em computação.

Redis oferece armazenamento persistente que pode armazenar em cache os estados da sessão do site e outros dados. Aplicativos que usam o Redis como uma camada de cache geralmente realizam uma consulta complexa ao banco de dados ou uma chamada de API e, em seguida, armazenam em cache os resultados. Ele pode armazenar e recuperar objetos de maneira rápida e eficiente. Portanto, o Redis é um excelente companheiro para o WordPress, que utiliza um servidor de banco de dados relacional mais tradicional como seu armazenamento de conteúdo principal.

A interface de linha de comando (CLI) do Redis pode ser usada para você se comunicar com o servidor Redis do seu site WordPress. Usando a CLI do Redis (invocada na linha de comando como redis-cli), você pode solicitar e receber respostas do servidor Redis programaticamente, monitorar os comandos executados em uma instância do Redis, verificar a latência de uma instância e observar o estado do servidor em tempo real.

Este tutorial mostra a você como integrar o Redis ao seu site WordPress e usar a CLI do Redis para executar operações de criação, leitura, atualização e exclusão (CRUD) a partir do seu terminal.

Conecte o Redis ao WordPress usando o DevKinsta

Para conectar um site do WordPress a um banco de dados do Redis, estamos usando o DevKinsta, uma ferramenta gratuita de um clique para criar, desenvolver e implantar rapidamente sites WordPress a partir do seu ambiente local.

O DevKinsta cria localmente um site WordPress Dockerizado com as versões mais recentes de suas dependências, incluindo um servidor Web Nginx, PHP e um banco de dados MariaDB compatível com MySQL. Ele também oferece suporte à CLI para o WordPress.

O DevKinsta está disponível para Windows, Linux e macOS. Você pode encontrar mais informações sobre a instalação ao fazer o download do DevKinsta.

Após a conclusão da instalação, crie e instale um novo site WordPress localmente em seu dispositivo usando a pilha de hospedagem padrão.

O DevKinsta oferece três opções para a criação local de sites WordPress: um site totalmente novo com configurações padrão, um novo site com configurações personalizadas e a clonagem de um site existente hospedado na Kinsta para o seu ambiente de desenvolvimento local.

Este tutorial usa a primeira opção com as configurações padrão e as versões mais recentes do Nginx, PHP, MariaDB e WordPress.

Depois de seguir essas etapas, você pode visualizar o painel do novo site no DevKinsta:

O painel de controle do DevKinsta depois que você criar um novo site WordPress.
O painel de controle do DevKinsta depois que você criar um novo site WordPress.

Observe o caminho do site. Esse é o diretório que contém os arquivos e pastas do site local. O link do painel WP Admin aparece no canto superior direito. Por fim, observe o Site Host, que é a URL que aponta para o seu novo site de desenvolvimento.

Você pode abrir o Docker Desktop para listar todos os contêineres em execução como dependências no seu projeto DevKinsta. Para fazer isso, clique em Containers na parte superior da barra lateral esquerda:

A lista de contêineres DevKinsta do Docker Desktop.
A lista de contêineres DevKinsta do Docker Desktop.

Agora que seu site WordPress e as dependências do contêiner estão em execução, você está pronto para conectar um banco de dados Redis ao seu site:

  1. Clique no botão WP Admin no DevKinsta para navegar até seu painel de controle do WordPress.
  2. Clique na aba Plugins no lado esquerdo.
  3. Clique em Add New e procure por “Redis Object Cache”
Pesquisando o plugin Redis Object Cache dentro do WordPress.
Pesquisando o plugin Redis Object Cache dentro do WordPress.

Clique em Install Now ao lado do plugin. Em seguida, confirme se ele está ativo clicando na aba Installed Plugins.

Plugins instalados do WordPress, incluindo o Redis Object Cache.
Plugins instalados do WordPress, incluindo o Redis Object Cache.

Quando ativado pela primeira vez, o plugin Redis Object Cache informará que não consegue se conectar a um banco de dados Redis. Resolvemos isso criando um contêiner com uma instância do Redis no Docker.

Vamos abrir um terminal e criar um contêiner de rede chamado redisnet no qual você executará a imagem do Redis:

docker network create -d bridge redisnet

Agora, crie e execute uma imagem do Redis como um contêiner autônomo dentro desse contêiner de rede:

docker run -d -p 6379:6379 --name demo_redis --network redisnet redis

Depois de iniciar a imagem do contêiner, verifique no Docker Desktop se a imagem do Redis está em funcionamento:

Docker Desktop executando a imagem
Docker Desktop executando a imagem demo_redis.

Lembre-se de que seu site WordPress foi iniciado automaticamente dentro de um contêiner do Docker. Você pode confirmar o nome e o ID da rede do contêiner:

docker network ls
Nomes e IDs de rede no Docker Desktop.
Nomes e IDs de rede no Docker Desktop.

Acima, a versão encurtada do ID de rede para devkinsta_network é d1fa155f7a4d. Usaremos isso mais tarde.

Uma maneira de conectar o cluster e o servidor Redis ao seu site WordPress local é conectar diretamente as redes Redis e DevKinsta. Primeiro, verifique o ID do contêiner para o Redis. Aqui, com o comando Docker para listar contêineres, estamos usando a opção -l (mais recente) para mostrar apenas o contêiner criado mais recentemente:

docker ps -l
Informações do contêiner geradas pelo comando
Informações do contêiner geradas pelo comando ps do Docker.

Neste exemplo, o ID encurtado do contêiner aparece como c3ffc630e44c.

Conecte seu contêiner Redis à rede DevKinsta usando o ID do contêiner no lugar do nosso no comando abaixo.

docker network connect devkinsta_network c3ffc630e44c

Você deve ter adicionado com êxito a imagem do contêiner Redis à lista de contêineres em execução dentro de devkinsta_network. Para verificar o endereço IP de rede do contêiner Redis, execute o seguinte comando, substituindo nosso ID devkinsta_network pelo ID que você encontrou usando o comando network ls em seu projeto:

docker inspect d1fa155f7a4d
Terminal exibindo parte da saída do comando
Terminal exibindo parte da saída do comando docker inspect.

Na imagem acima, o endereço IP do contêiner demo_redis é 172.172.0.6. Anote o endereço IP em seu projeto antes de prosseguir com a conexão.

Navegue até a raiz do site do WordPress em sua máquina local, que está no caminho do site exibido no DevKinsta. Abra o arquivo wp-config.php em um editor de texto e adicione o seguinte código na seção de variáveis de configuração personalizadas:

define('WP_REDIS_CLIENT', 'predis');
define('WP_REDIS_HOST', '172.172.0.6');
define('WP_REDIS_PORT', '6379');

O endereço IP que você usa para WP_REDIS_HOST é o que você descobriu para demo_redis quando executou o comando docker inspect.

Esse código de configuração adiciona o cliente Redis, o host e a porta para que o plugin possa acessar o servidor Redis dentro do mesmo contêiner Docker e da mesma rede que o DevKinsta.

Para confirmar que o plugin está conectado e em execução, você pode usar o código de configuração:

  1. Navegue até sua página de plugins do WordPress no painel de controle.
  2. Clique no link Configurações para o Redis Object Cache.
  3. Na página Settings, clique no botão Enable Object Cache.
O Redis Object Cache pode ser gravado e acessado, mas precisa ser ativado.
O Redis Object Cache pode ser gravado e acessado, mas precisa ser ativado.

Quando o Redis Object Cache estiver ativado, sua página de configurações terá a seguinte aparência:

A página de configurações do Redis Object Cache mostra que o Redis está conectado e em execução.
A página de configurações do Redis Object Cache mostra que o Redis está conectado e em execução.

Como iniciar a CLI do Redis

A ferramenta Redis CLI (redis-cli) vem junto com um servidor Redis. Você pode instalar um servidor Redis nos sistemas operacionais Windows, macOS e Linux.

No entanto, já estamos executando o Redis no Docker aqui, portanto, podemos iniciar a ferramenta CLI dentro do nosso contêiner demo_redis.

Acima, quando usamos o comando docker ps, aprendemos o ID do contêiner que está executando a imagem do Redis. O nosso começou com c3ffc630e44c. Podemos usar esse ID truncado para direcionar o demo_redis e iniciar um shell de linha de comando dentro dele:

docker exec -it c3ffc630e44c /bin/sh

Agora você pode chamar a ferramenta redis-cli:

invocada a partir de um shell no Docker
redis-cli invocada a partir de um shell no Docker.

Você pode fazer ping no servidor para testar a conexão:

ping
Resposta do servidor a um ping no
Resposta do servidor a um ping no redis-cli.

Para se conectar ao servidor Redis usando seu endereço IP e porta e testar essa conexão, execute o seguinte comando (usando o endereço IP do seu contêiner demo_redis ):

redis-cli -h 172.172.0.6 -p 6379 ping
Enviando um ping para o servidor Redis por meio do seu endereço IP e porta.
Enviando um ping para o servidor Redis por meio do seu endereço IP e porta.

Você se conectou com sucesso ao servidor Redis na máquina local e no contêiner do Docker.

Em seguida, verifique se o site do WordPress está armazenando dados no cache do Redis usando redis-cli e seu comando keys * para exibir todas as chaves no banco de dados:

Recuperando todas as chaves no banco de dados Redis com uma pesquisa wildcard com asterisco.
Recuperando todas as chaves no banco de dados Redis com uma pesquisa wildcard com asterisco.

Você pode ver que alguns dados do WordPress já foram salvos no cache do Redis.

Operações CRUD da CLI do Redis

Você pode executar operações CRUD em seu banco de dados Redis usando a ferramenta CLI.

Vamos obter o valor de uma chave que copiamos de nossa solicitação anterior da CLI do Redis keys *.

get :u.:~8r]mC->Re/gG!&mGU.[{+;]t7o<H~)c*pcU=Lx_Vs{9JkdxkL:X;M-@Y$Svwp:user_meta:1
Resposta do Redis a uma solicitação "get" usando
Resposta do Redis a uma solicitação “get” usando redis-cli.

Vamos manipular o conteúdo do banco de dados Redis invocando redis-cli e usando os comandos set, get e del para criar um par de chave/valor, consultar a nova chave e excluí-la:

Operações CRUD simples em um banco de dados Redis usando
Operações CRUD simples em um banco de dados Redis usando redis-cli.

Acima, a tentativa de recuperar o valor de uma chave excluída retorna nil.

Há muitas outras operações avançadas disponíveis quando você usa a CLI do Redis.

Resumo

A CLI do Redis é uma maneira fácil de testar os comandos do Redis no seu site antes de colocá-lo em um ambiente ativo. Também é uma ótima maneira de monitorar a atividade em uma instância do Redis.

No Docker, uma instância do Redis fornece as ferramentas de que você precisa para gerenciar o banco de dados, inclusive redis-cli, agrupadas em um único contêiner.

Enquanto isso, a abordagem Dockerizada do DevKinsta facilita o desenvolvimento de um site WordPress em uma máquina local e, em seguida, a implantação na produção com apenas alguns cliques do mouse.

Se você ainda não está gerenciando alguns dos 112,000 sites WordPress hospedados pela Kinsta, descubra os recursos avançados que estão disponíveis em todos os nossos planos de Hospedagem Gerenciada de WordPress.

Steve Bonisteel Kinsta

Steve Bonisteel is a Technical Editor at Kinsta who began his writing career as a print journalist, chasing ambulances and fire trucks. He has been covering Internet-related technology since the late 1990s.