How To Configure WordPress with Redis®
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.