Utilizando Redis com Magento 1.8

magento-redis-imagem-01

Redis é key-value baseado em memória. Imagine o Memcache com mais ferramentas como cluster e múltiplos banco de dados.

O Magento pode utilizar o Redis para:

* Sessões

* Cache Full

* Page Cache (Enterprise)

Qual o motivo de utilizar Redis?

* É mais rápido e eficiente para o backend do Magento. Recomendado pela Magento e a maioria de developers Magento.

* Pode ser compartilhado entre múltiplos servidores balanceados e substitui o uso do Memcache para o cache backend.

* Redis também pode ser utilizado para o , ao contrário do Memcache, então o cache está em memória. Leia aqui a explicação de porque isso é bom: http://www.fabrizio-branca.de/magento-zend-frameworks-twolevels-cache-backend-mess.html

* O Redis possui persistência, enquanto se você reiniciar o serviço de memcache você precisar esperar novo cache.

E onde deve ser instalado o Redis?

Isto irá depender do tipo de servidor que você utiliza, segue exemplos:

* Dedicado – Instale Redis no servidor de banco de dados.

* Cluster Dedicado – Redis pode ser configurado como um serviço RHCS para HA.

* Cloud – Instale Redis em um servidor com bastante memória livre, normalmente o banco de dados. Outra opção é utilizar Redis-a-a-S.

* Servidor único – Ainda ideal utilizar se você tiver memória livre. Utilize UNIX socket para eliminar TCP overhead.

Instalação e configuração:

O primeiro passo é verificar a versão do seu Magento, caso seja CE 1.8+ ou EE 1.13.1+ você pode utilizar Redis, caso não utilize essas versões você precisará de algum módulo. Nosso exemplo é somente para versões CE 1.8+ e EE 1.13.1+.

O segundo passo é instalar e configurar o serviço Redis. No nosso exemplo iremos instalar no servidor de banco de dados com IP privado 192.168.1.2. Faça a instalação do Redis executando os seguintes comandos:

yum install epel-release
yum install redis
chkconfig redis on

Configure o arquivo /etc/redis.conf, preste muita atenção que está é uma parte muito importante.

Primeiro altere o bind para o IP privado de seu servidor, no nosso caso:

bind 192.168.1.2

Vamos alterar a configuração para utilizar UNIX socket, para isso descomente as seguintes linhas:

unixsocket /tmp/redis.sock

unixsocketperm 755

No nosso caso nós queremos somente cache de memória, então podemos desabilitar persistência de disco comentando:

#save 900 1

#save 300 10

#save 60 10000

Algo muito importante é que Redis foi feito para velocidade e não segurança. O ideal é utilizar sempre uma rede privada ou o Cloud Networks. Se você utilizar uma rede privada que pode ser vista por outros usuários, vamos setar uma senha para o Redis. É recomendado criar uma senha grande porquê a velocidade do Redis facilita um brute force. Iremos utilizar esta senha:

FlfTlU6bAJQBVTtPFqJxX4xWamcjnFn28VBQhN3THN1fitMGlm

Ainda no mesmo arquivo adicione a senha:

requirepass FlfTlU6bAJQBVTtPFqJxX4xWamcjnFn28VBQhN3THN1fitMGlm

Ainda editando o mesmo arquivo iremos alterar algumas informações do maxmemory:

maxmemory 1500mb

maxmemory-policy allkeys-lru

Salve o arquivo e inicie o serviço Redis executando o comando:

service iptables save

Por último abra a porta 6379 com o comando:

iptables -A INPUT -p tcp -m state –state NEW -m tcp –dport 6379 -j ACCEPT service iptables save

Agora que temos o serviço Redis rodando no nosso banco de dados, iremos instalar o módulo PHP em seu servidor WEB no terceiro passo.

Você pode isntalar facilmente executando o comando:

yum install php-pecl-redis.x86_64 -y

Após instalar reinicie o Apache/nginx.

O quarto e último passo é a configuração do Magento.

Abra o arquivo app/etc/local.xml e coloque as seguintes informações:

Sessões:

<session_save>

<redis_session>

192.168.1.2

0

FlfTlU6bAJQBVTtPFqJxX4xWamcjnFn28VBQhN3THN1fitMGlm

2.5

0

<compression_threshold>2048

<compression_lib>gzip

<log_level>1

<max_concurrenc>6

<break_after_frontend>5

<break_after_adminhtml>30

<bot_lifetime>7200

Cache:

Mage_Cache_Backend_Redis

<backend_options>

192.168.1.2

6379

1

FlfTlU6bAJQBVTtPFqJxX4xWamcjnFn28VBQhN3THN1fitMGlm

<force_standalone>o

<connect_retries>3

<read_timeout>10

<automatic_cleaning_factor>0

<compress_data>1

<compress_tags>1

<compress_threshold>20480

<compression_lib>gzip

<use_lua>0

Full Page Cache (Enterprise somente):

<full_page_cache>

Mage_Cache_Backend_Redis

<backend_options>

127.0.0.1

6379

2

FlfTlU6bAJQBVTtPFqJxX4xWamcjnFn28VBQhN3THN1fitMGlm

<force_standalone>0

<connect_retries>3

57600

<compress_data>

Agora que configuramos o local.xml, iremos ativar o módulo do Redis para o Magento, para isso abra o arquivo app/etc/modules/Cm_RedisSession.xml e altere false para true.

Pronto, limpe o cache e você terá o Redis configurado.

Caso tenha alguma dúvida você pode postar em nosso fórum: www.forum.magentobr.com

Até a próxima!

2017-01-24T20:24:39+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x