Cursos Magento

Como habilitar e configurar o Redis no Magento

, , ,

11 de dezembro de 2018

Neste artigo veremos como habilitar o Redis no Magento 1. Caso esteja procurando como habilitar o Redis no Magento 2 consulte este link.

O que é Redis e como isso pode melhorar meu Magento?

O Redis é um projeto open source que permite salvar dados estruturados em memória (ram) usando um banco de dados de chave-valor.

O Magento vem preparado para ser integrado com este tipo de memória e permite salvar arquivos de cache e sessão direto no Redis, ao invés de salvar em disco ou banco de dados.

Como sabemos, o acesso à memória ram é muito mais rápido que o acesso aos arquivos em disco ou mesmo ao banco de dados mysql.

Verificando disponibilidade

A maioria das hospedagens especializadas em Magento fornecem Redis mesmo nos planos mais básicos.

Uma forma simples de verificar se sua hospedagem possuí o Redis instalado é logando no console (ssh) e digitando redis-cli.

Configurando Magento 1 com Redis

O módulo responsável por salvar dados da session no Redis é o Cm_RedisSession, nativo mesmo nas versões Open Source do Magento.

Toda a configuração é feita no arquivo app/etc/local.xml. Por padrão, a maioria dos servidores Redis são configurados na porta 6379,  e isso facilita bastante nosso trabalho.

Na pasta app/etc você encontra o arquivo local.xml.additionalque contém um exemplo de configuração Redis para cache comum, session e até full page cache, além de exemplos de configuração de memcached.

Cache com Redis no Magento 1

Para fazer com que o magento passe a salvar os arquivos de cache em memória ram ao invés de salvar na pasta var/cache, basta copiarmos o trecho abaixo no arquivo local.xml.additional para o nosso app/etc/local.xml.

Full Page cache com Redis no Magento 1

O mesmo vale para o full_page_cache.

Lembre-se de ativar o Full Page Cache em Sistema->Configuração->Avançado->Sistema->External Full Page Cache Settings.

Full Page Cache Config Magento 1

Session com Redis

E para salvar os dados de sessão em memória:

Lembre-se de remover ou comentar o nó original <session_save><![CDATA[files]]></session_save>.

 

O que você precisa saber

Uma vez que o controle do cache passa a estar no Redis, nem tudo pode ser gerenciado via painel.

Quando você quiser limpar todos os caches do Magento o painel de controle pode não ser suficiente.

Como vimos acima, nós configuramos 3 databases diferentes através das diretivas <db> e <database> no nosso local.xml.

Com o comando flushdb podemos limpar toda base selecionada, como vemos no exemplo abaixo:

 

Testando e validando

Pra saber se o Redis está sendo usado, basta entrar em cada database ( select <db>) e listar todos os registros ( keys *).

Com isso, podemos entrar em cada database que configuramos acima e ver se os dados estão sendo gravados lá.

 

Aviso: sua loja nunca mais será a mesma (que bom!)

Esta é sem dúvida a forma mais rápida de otimizar radicalmente a performance de uma loja Magento.

Em um teste simples em ambiente local, a nossa página inicial da loja do nosso curso de criação de módulos Magento passou a carregar em 0.8 segundo ao invés de 1.3 segundo. Não precisamos dizer que este não é o ambiente ideal para realizar este tipo de teste, mas tenho certeza que você gostará dos resultados que vai ter.

Conte sua experiência aqui nos comentários, ou no grupo secreto de alunos do curso de backend de Magento 1 do Magenteiro.

Grande abraço e até a próxima.

 

Ricardo Martins

É desenvolvedor web há 16 anos e um dos primeiros certificados pela Magento no Brasil. Instrutor de mais de 8 cursos Magento (os principais no magenteiro.com/cursos) com mais de 9 mil alunos de 100 países, é também criador do módulo PagSeguro Transparente, usado em mais de 12 mil lojas.

Últimos posts por Ricardo Martins (exibir todos)

Comentários