Configurar o serviço Redis

Redis é uma solução de cache back-end opcional que substitui o Zend Framework Zend_Cache_Backend_File, que a Adobe Commerce usa por padrão.

IMPORTANT
O cache Redis não é suportado para o Adobe Commerce 2.4.9 ou versões de patch posteriores a 2.4.5-p16, 2.4.6-p14, 2.4.7-p9 e 2.4.8-p4. Use Valkey para configuração de cache onde Redis não é suportado. Consulte Requisitos do sistema para obter os serviços de cache com suporte por versão.

Use as instruções a seguir para a configuração do serviço em ambientes Pro Integration e Starter, incluindo a ramificação master.

NOTE
Para alterar a configuração do serviço em ambientes de Produção e Preparo Profissionais, Envie um tíquete de Suporte da Adobe Commerce. Para obter os requisitos de agendamento e as orientações de disponibilidade do cliente, consulte o Suporte a serviços profissionais em Configurar serviços.

Ativar Redis

Para habilitar o Redis, atualize os seguintes arquivos:

  • .magento/services.yaml
  • .magento.app.yaml

Configurar o serviço

Em .magento/services.yaml, adicione a definição do serviço Redis. Substitua <version> por uma versão Redis com suporte pela sua versão do Adobe Commerce e pelo modelo atual da Nuvem.

cache:
  type: redis:<version>

Por exemplo, para uma versão do Commerce e um modelo da nuvem compatíveis com Redis 7.2:

cache:
  type: redis:7.2

A versão de exemplo não é universal. As versões de serviço padrão e compatíveis reais dependem da versão do Adobe Commerce, do nível de patch e do modelo atual do Cloud. Verifique a combinação com suporte em Requisitos do Sistema e o modelo de projeto atual.

Configurar o relacionamento de serviço

Em .magento.app.yaml, configure a relação entre o aplicativo e o serviço Redis:

runtime:
  extensions:
    - redis

relationships:
  redis: "cache:redis"

A chave de relação redis é o nome usado pelo aplicativo para acessar o serviço. O valor cache:redis consiste na ID de serviço (cache) e no tipo de serviço (redis) definidos em .magento/services.yaml.

Confirmar e implantar as alterações

Adicionar, confirmar e enviar as alterações de configuração:

git add .magento/services.yaml .magento.app.yaml
git commit -m "Enable Redis service"
git push origin <branch-name>

Depois que a implantação for concluída, verifique se o relacionamento do serviço Redis está disponível.

TIP
Após a configuração inicial do serviço, você pode alterar a versão do software de um serviço instalado atualizando os arquivos de configuração services.yaml e .magento.app.yaml. Consulte Alterar versão de serviço para obter orientação sobre como atualizar ou rebaixar um serviço. Este método de autoatendimento não se aplica a ambientes de Preparo ou Produção Pro — consulte Suporte a serviços Pro em Configurar serviços.

Verificar o relacionamento de serviço

Após implantar a configuração, execute o seguinte comando em um contêiner de aplicativo para exibir o objeto MAGENTO_CLOUD_RELATIONSHIPS decodificado:

Use o SSH para se conectar ao ambiente de nuvem remoto e execute:

echo "$MAGENTO_CLOUD_RELATIONSHIPS" | base64 -d | json_pp

O comando exibe todos os relacionamentos de serviço configurados. Localize a relação redis para identificar os detalhes da conexão Redis.

O exemplo abreviado a seguir mostra a relação redis. Não é um esquema universal.

{
   "database" : [
      {
         "host" : "database.internal",
         "port" : 3306,
         "path" : "main",
         "scheme" : "mysql"
      }
   ],
   "opensearch" : [
      {
         "host" : "opensearch.internal",
         "port" : 9200,
         "path" : null,
         "scheme" : "http"
      }
   ],
   "redis" : [
      {
         "host" : "redis.internal",
         "port" : 6379,
         "path" : null,
         "scheme" : "redis"
      }
   ]
}

A saída varia de acordo com a configuração do ambiente e do serviço. Não codifique nomes de host, portas, endereços IP, nomes de cluster, versões de serviço, nomes de usuário ou senhas deste exemplo. Use os valores retornados por MAGENTO_CLOUD_RELATIONSHIPS no ambiente de destino.

Se jq estiver disponível, use o seguinte comando para exibir somente a relação Redis:

printf '%s' "$MAGENTO_CLOUD_RELATIONSHIPS" \
  | base64 -d \
  | jq '{redis: .redis}'

Para obter mais informações sobre relações de serviço, consulte Configurar serviços.

Personalizar a configuração Redis

Para obter recomendações de cache, sessão, L2 e conexão de réplica, consulte Práticas recomendadas para a configuração do serviço Valkey e Redis no Guia de Práticas Recomendadas do Manual de Implementação.

Usando a CLI Redis

Supondo que sua relação com Redis tenha o nome redis, use o host e a porta retornados por MAGENTO_CLOUD_RELATIONSHIPS para se conectar ao Redis.

Conecte-se ao ambiente com o Redis instalado e configurado e execute o seguinte comando:

redis-cli -h <host> -p <port>

Exemplo

redis-cli -h redis.internal -p 6379

Obtenha a versão instalada do Redis

Ambiente de integração

Em um ambiente de Integração, use o host e a porta retornados pela relação redis para executar:

code language-terminal
redis-cli -h <host> -p <port> info | grep version

Exemplo de resposta

code language-text
redis_version:<installed-version>
gcc_version:<gcc-version>

A versão e os detalhes da build variam de acordo com o ambiente. Não trate uma versão de exemplo exibida como uma versão obrigatória ou de serviço universal.

Preparo e produção profissionais

Em ambientes de preparo e produção profissionais, execute:

code language-terminal
redis-server -v

Exemplo de resposta

code language-text
Redis server v=<installed-version> ...

A versão e os detalhes da build variam de acordo com o ambiente. Não trate uma versão de exemplo exibida como uma versão obrigatória ou de serviço universal.

Solução de problemas do Redis

Consulte os seguintes artigos de suporte da Adobe Commerce para obter ajuda com a solução de problemas Redis:

Erros de limpeza de cache fazem referência a Redis em um cache configurado pelo Valkey

Uma falha na limpeza do cache de pré-implantação pode exibir o código de erro [107] (clean-redis-cache) e uma mensagem Connection to Redis mesmo quando o serviço cache está configurado como Valkey. ece-tools usa este código de erro orientado por Redis herdado e a mensagem para a etapa de limpeza de cache, independentemente de qual serviço oferece suporte à relação cache, portanto, o texto não indica que o Redis está instalado.

Se o erro subjacente for uma falha de DNS, como Name or service not known, para o host de relação, a etapa de implantação foi executada antes de a relação de serviço estar disponível, ou o nome da relação em .magento.app.yaml não corresponde à ID de serviço em .magento/services.yaml. Consulte Verificar a relação de serviço.

recommendation-more-help
commerce-on-cloud-help-cloud-guide