How To Configure WordPress with Redis®

Updated on June 22, 2024
How To Configure WordPress with Redis® header image

Introduction

Redis® is a data structure store. It is popular with WordPress sites because it offers large performance boosts due to its optimized approach at caching. A popular alternative for Redis® is Memcached, but Redis® can currently do about everything Memcached can do and more.

This tutorial assumes that you have a server running WordPress and that you want to boost its performance.

Step 1: Install Redis®

We are going to be installing both the Redis® server itself (redis-server) and a PHP extension that will allow applications to communicate with Redis® (such as WordPress):

apt-get install php5-redis redis-server

Step 2: Setup Redis® as a cache

We are going to be using Redis® for a cache. In order to achieve this, there are a number of changes that we need to make in the configuration. Edit the /etc/redis/redis.conf file:

vi /etc/redis/redis.conf

After the last line, add:

maxmemory 128mb
maxmemory-policy allkeys-lru

The maxmemory should be set according to the amount of RAM available on your server. Create a swap file if you are worried about running out of RAM.

Step 3: Change the WordPress configuration file

Edit your wp-config.php file to add settings that will allow caching:

vi wp-config.php

At the end of the Authentication Unique Keys and Salts section, add the following lines. Note that string can be anything you want, as long as it's unique.

define('WP_CACHE_KEY_SALT', 'string');
define('WP_CACHE', true);

Step 4: Use the Redis® Object Cache

Redis® Object Cache is a script which will allow your WordPress installation to use Redis®. The original script written by Eric Mann can be found on GitHub. Upload this script to your server to /YourWPInstall/wp-content.

Warning: Do not place this script in your wp-content/plugins folder, but in your wp-content folder.

Step 5: Restart services

Restart the Redis® server, then restart Apache.

service redis-server restart
service apache2 restart

Now, test that Redis® and WordPress are integrated. Navigate around your WordPress admin area while viewing the Redis® monitor.

redis-cli monitor

If you see log entries appear, that means WordPress is communicating with Redis®. You can now enjoy the performance boosts of using Redis® as cache for WordPress.