How To Configure WordPress with Redis

Published on: Fri, Sep 4, 2015 at 4:23 pm EST

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!