Saiba como turbinar o WordPress utilizando redis como Object Cache reduzindo o tempo de consulta no banco de dados.
O Object Cache vem para reduzir um dos principais gargalos do wordpress que são as consultas realizadas no banco de dados.
Aprenda a instalar o melhor plugin e customizar e otimizar ainda mais a instalação para extrair o máximo de performance.
Melhor Plugin redis Object Cache
O melhor plugin para utilizar redis como object cache no wordpress é o Redis Object Cache Por Till Krüss.
O plugin é grátis e de código aberto, apesar de existir uma versão paga, não é necessário para a maioria dos usuários, pois a versão free atende perfeitamente.
Com o Redis e o phpredis instalado, o plugin vai funcionar como a foto abaixo, conectado, com permissão de escrita e acessível:

Por padrão o plugin acessa o redis localmente em 127.0.0.1 na porta 6379 usando tcp e o banco de dados 0 (zero) do redis.
Alterar parâmetros do plugin
As alterações devem ser feitas no arquivo wp-config.php, veja todos as opções possíveis:
Configurações e o padrão
WP_REDIS_HOST 127.0.0.1
WP_REDIS_PORT 6379
WP_REDIS_PATH
WP_REDIS_SCHEME tcp
WP_REDIS_DATABASE 0
WP_REDIS_PREFIX
WP_REDIS_PASSWORD
WP_REDIS_MAXTTL 0
WP_REDIS_CLIENT
WP_REDIS_TIMEOUT 1
WP_REDIS_READ_TIMEOUT 1
WP_REDIS_IGNORED_GROUPS []
WP_CACHE_KEY_SALT
WP_REDIS_RETRY_INTERVAL
WP_REDIS_GLOBAL_GROUPS []
WP_REDIS_METRICS_MAX_TIME 3600
WP_REDIS_IGBINARY false
WP_REDIS_DISABLED false
WP_REDIS_DISABLE_ADMINBAR false
WP_REDIS_DISABLE_METRICS false
WP_REDIS_DISABLE_BANNERS false
WP_REDIS_DISABLE_DROPIN_AUTOUPDATE false
WP_REDIS_SSL_CONTEXT []A única regra é que esses comandos, tem que estar acima da seguinte linha do wp-config.php:
require_once(ABSPATH . 'wp-settings.php');Se for usar o em servidor local com tcp na porta 6379, não é necessário alterar nada, se tiver mais de 1 site é bom alterar o database e prefix.
// change the prefix and database for each site to avoid cache data collisions
// altere o prefixo e database para evitar colisão de cache
define( 'WP_REDIS_PREFIX', 'meu-site' );
define( 'WP_REDIS_DATABASE', 1 ); // 0-15Se preferir usar em Unix Socket:
define( 'WP_REDIS_SCHEME', 'unix' );
define( 'WP_REDIS_PATH', '/var/run/redis.sock' );
// prefixo e database
define( 'WP_REDIS_PREFIX', 'meu-site2' );
define( 'WP_REDIS_DATABASE', 2 ); // 0-15Para o redis funcionar em socket é preciso fazer algumas configurações:
# crie a pasta para execução
sudo mkdir -p /var/run/redis/
# altere a permissão da pasta
sudo chown -R redis:www-data /var/run/redis
# altere o redis.conf
sudo nano /etc/redis/redis.conf
## adicione acima da primeira linha:
# configure o redis.sock no diretório criado
unixsocket /var/run/redis/redis.sock
# altere as permissões para 775
unixsocketperm 775
# reinicie o servidor redis
sudo service redis-server restart
# ou
/etc/init.d/redis-server restartInstalar o phpredis no Debian / Ubuntu
sudo apt-get update
sudo apt-get install php-dev php-pear build-essential
sudo pecl install redisDepois adicione em /etc/php/8.1/fpm/php.ini
extension=redis.soReinicie o servidor:
sudo systemctl restart php8.1-fpmInstalar o phpredis no CentOS / RHEL
sudo yum install epel-release
sudo yum install php-devel php-pear gcc make
sudo pecl install redisDepois adicione em /etc/php.d/20-redis.ini
extension=redis.soReinicie o servidor:
sudo systemctl restart php-fpmInstalar o Redis no Debian / Ubuntu
Para instalar o redis utilize o repositório oficial do redis:
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis
# ative
sudo systemctl enable redis-server.service
# inicie
sudo systemctl start redis-server.serviceEdite as configurações em: /etc/redis/redis.conf
Instalar o Redis no CentOS / RHEL
Para instalar o redis utilize o comando yum:
sudo yum install epel-release
sudo yum install redis
# ative
sudo systemctl enable redis
# inicie
sudo systemctl start redisEdite as configurações em: /etc/redis.conf
Dica final:
Após instalar o plugin e estiver tudo funcionando, é recomendando excluir todos os transients do bando de dados wordpress para que eles agora sejam armazenados no redis e ter melhor performance.
Veja o post sobre utilizar o wp-cli para excluir transients, o resultado do comendo vai ser similar a esse abaixo:
Success: 3 transients deleted from the database.
Warning: Transients are stored in an external object cache, and this command only deletes those stored in the database. You must flush the cache to delete all transients.