Precisa usar o Redis para cachear informações em seu CMS? Então este artigo é pra você

Finalizei o meu post anterior com a promessa de trazer um post sobre o uso do Redis para fazer o cacheamento de informações do WordPress. É preciso deixar bem claro que estes procedimentos podem ser úteis para diversas configurações do Redis, como cacheamento utilizarei de exemplo o WordPress.

Utilizo o WordPress como exemplo apenas por ser um CMS bem popular e acredito que tem muita gente que vai gostar de ter estas dicas para configurar seu WordPress e deixar ele voando!

Para os que ainda estão um pouco perdidos com relação ao que é o Redis, volto a explicar. O Redis é um servidor de estruturas de dados, que pode ser usado como um servidor de banco de dados ou em paralelo ao MySQL, para aumentar o seu desempenho.

Nele, podemos gravar informações em Strings, Integers, Lists, Sets, Ordered Sets e Hash Tables.

No exemplo que iremos montar abaixo, ele irá funcionar como um cache persistente. Quando uma uma página for carregada pela primeira vez, a query do banco será executada no servidor.

Neste momento o Redis irá cachear a query. Após isto qualquer usuário que acessar esta mesma página terá o resultado vindo do Redis, sem a necessidade de consultar o banco novamente.

Mas chega de lenga lenga e vamos ao que realmente interessa. Configurar esta belezinha. Para isto vou utilizar um instância Cloud com Ubuntu 14.04 que tenho aqui na DialHost

Redis - imagem
Redis

Instalando o Redis

Para a instalação dele com o WordPress vamos precisar de dois packages em seu servidor: o redis-server e o php-redis ( Neste caso irei utilizar a branch php7 para conseguir configurar com o PHP 7). Para isto já estarei logado como root.

  1. Instalando o Redis server
apt-get install redis-server

2. Instalando o php-redis

git clone -b php7 https://github.com/phpredis/phpredis.git

3. Movendo ele para o /etc/

mv phpredis/ /etc/ && cd /etc/phpredis

4. Instalando e configurando o módulo

phpize
./configure
make && make install

5. Habilitando a extensão no php.ini e dando o restart no apache

touch /etc/php/mods-available/redis.ini
echo 'extension=redis.so' > /etc/php/mods-available/redis.ini
phpenmod redis
service httpd restart

6. Agora é só testar a versão do seu módulo.

 php --ri redis

Configurando o Redis como Cache

Como nosso objetivo para este projeto é cachear as requisições do WordPress vamos configurá-lo como cache. Para isto temos que seguir os passos a seguir.

1. Vamos adicionar as linhas abaixo no arquivo /etc/redis/redis.conf

Linhas para adicionar:

maxmemory 256mb
maxmemory-policy allkeys-lru

Comando para adicionar:

vim /etc/redis/redis.conf

Após fazer a inserção das linhas salve e feche o arquivo.

Configurando o seu WordPress

Agora que o Redis já está rodando, é hora de configurar ele para trabalhar junto com o WordPress.

1. Para isto Vamos precisar de baixar o script object-cache.php para a pasta wp-content.

wget https://raw.githubusercontent.com/alleyinteractive/wp-redis/master/object-cache.php
chown www-data: object-cache.php

2. Agora precisamos ir no wp-config.php e configurá-lo com a chave de cache que terá o nome do seu site além de habilitar o cache persistent com o Redis. Para isto adicione as duas regras abaixo, ao final da seção “* Authentication Unique Keys and Salts”

define('WP_CACHE_KEY_SALT', 'meusite.com.br');
define('WP_CACHE', true);

3. Por fim, salve o arquivo e reinicie os serviços do Redis, o Apache e o PHP7-fpm.

service redis-server restart
service httpd restart
service php7-fpm restart

Conclusões

Após configurar a integração do Redis, podemos reparar um ganho no uso de recursos e na velocidade de carregamento da página. Como dito no começo deste artigo isto é porque não teremos que consultar o nosso banco de dados toda hora mais. O Cache vai agilizar, retornando todas as informações que ele cacheou em sua memória. Caso você queira monitorar o funcionamento do seu Redis basta usar o comando redis-cli

redis-cli monitor

Compartilhe:

Sobre o autor:

Sobre o autor:

Posts Relacionados:

Novidades do Blog

Deixe seu e-mail abaixo para passar a receber promoções e novidades do nosso Blog.