Install Redis Caching for Magento
Contents
Install Redis Caching for Magento
How to install redis for backend caching? You see alot of talk about using apc and memcached for Magento caching, but if you are looking for a more stable caching, then redis is for you.
1) Install Redis and phpRedis
This can be done using yum, which makes this step pretty easy.
yum install redis php-pecl-redis
service redis start
chkconfig redis on
Now to verify that redis is chkconfig on
chkconfig --list redis
2) Install Cm_Cache_Backend_Redis Magento Extension
This is the extension that is required on versions of CE 1.7.0.2 and older, as Magento 1.8.0.0 it comes pre installed.
wget -O Cm_Cache_Backend_Redis.tar.gz https://github.com/colinmollenhour/Cm_Cache_Backend_Redis/tarball/master
tar xzf Cm_Cache_Backend_Redis.tar.gz
cd colinmollenhour-Cm_Cache_Backend_Redis-9bd58d2/
cp Cm_Cache_Backend_Redis/Cm /path/to/magento/app/code/local/
cp Cm_Cache_Backend_Redis/lib/Credis /path/to/magento/lib/
cat > /path/to/magento/app/etc/modules/Cm_Cache.xml <<eof <?xml version="1.0" encoding="UTF-8"?> <config> <modules> <Cm_Cache> <active>true</active> <codePool>local</codePool> </Cm_Cache> </modules> </config> eof
3) Install Credis Library
Again not needed if you are using Magento 1.8.0.0 or higher, as its already included in the base install
wget -O credis.tar.gz https://github.com/colinmollenhour/credis/tarball/master
tar xzf credis.tar.gz
cd colinmollenhour-credis-5a48ac8/
cp ./* /path/to/magento/lib/Credis/
cd /path/to/magento/
chown -R username. lib/Credis/
chown -R username. app/code/local/Cm/
chown -R username. app/etc/modules/Cm_Cache.
4) Configure Magento to use Redis
Now comes the fun part, you are going to need to setup redis in your local.xml file.
I recommend always making a backup copy of your local.xml file before making any changes to it
cp app/etc/local.xml app/etc/local.xml-bk-date
Now lets install redis as a backend cache
vim app/etc/local.xml
Now add the following to your configuration
<cache> <backend>Cm_Cache_Backend_Redis</backend> <backend_options> <server>127.0.0.1</server> <port>6379</port> <persistent></persistent> <password></password> <force_standalone>0</force_standalone> <connect_retries>1</connect_retries> <read_timeout>10</read_timeout> <automatic_cleaning_factor>0</automatic_cleaning_factor> <compress_data>1</compress_data> <compress_tags>1</compress_tags> <compress_threshold>20480</compress_threshold> <compression_lib>gzip</compression_lib> <use_lua>0</use_lua> </backend_options> </cache>