Knowledge Base
MilesWeb / How-Tos

What Is Redis And How To Install It?

Approx. read time : 2 min

What is Redis?

Redis is an BSD licensed, open source, advanced key-value cache and store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets, sorted sets, bitmaps and hyperloglogs. Refer redis.io/topics/introduction to know more about Redis.

We will learn how to install redis on a CentOS cPanel server. On a CentOS cPanel server, we will need to install redis daemon & the redis PHP extension. Once installed & enabled it helps in boosting the eCommerce website performance.

Install Redis Daemon

cd /usr/local/
wget http://download.redis.io/releases/redis-2.8.12.tar.gz
tar -xvzf redis-2.8.12.tar.gz
cd redis-2.8.12
make
cp src/redis-server /usr/local/bin
cp src/redis-cli /usr/local/bin
mkdir -p /etc/redis
mkdir -p /var/redis
cp redis.conf /etc/redis/redis.conf

Now, let’s edit /etc/redis/redis.conf & configure it to work with the server. Set the values as below.

daemonize yes
port 6379
bind 127.0.0.1
dir /var/redis/
logfile /var/log/redis.log
pidfile /var/run/redis.pid

We will now need a startup script which will start, stop, restart redis on your server. Create a file /etc/init.d/redis & add below content. Set permissions to 755 so that the file is executable.

#!/bin/sh
#
# redis – this script starts and stops the redis-server daemon
#
# chkconfig: – 85 15
# description: Redis is a persistent key-value database
# processname: redis-server
# config: /etc/redis/redis.conf
# config: /etc/sysconfig/redis
# pidfile: /var/run/redis.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ “$NETWORKING” = “no” ] && exit 0

redis=”/usr/local/bin/redis-server”
prog=$(basename $redis)

REDIS_CONF_FILE=”/etc/redis/redis.conf”

[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis

lockfile=/var/lock/subsys/redis

start() {
[ -x $redis ] || exit 5
[ -f $REDIS_CONF_FILE ] || exit 6
echo -n $”Starting $prog: “
daemon $redis $REDIS_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $”Stopping $prog: “
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
stop
start
}

reload() {
echo -n $”Reloading $prog: “
killproc $redis -HUP
RETVAL=$?
echo
}

force_reload() {
restart
}

rh_status() {
status $prog
}

rh_status_q() {
rh_status >/dev/null 2>&1
}

case “$1” in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $”Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}”
exit 2
esac

Update the system services & configure redis daemon to start after server reboot.

chkconfig –add redis
chkconfig redis on

Start the redis service with command below. You can use command redis-cli ping to check if it works properly. If you get a result PONG it means redis is working.

/etc/init.d/redis start

To know more about the command and it’s options use redis-cli –help.

Install Redis PHP Extension

Redis PHP extension is installed by performing couple of commands.

pecl install redis

Open the server’s php.ini file & add extension=redis.so to it. You can get the server’s php.ini file with command php -i | grep php.ini. Restart apache (your web server) & you are done.

Admin
With over 10+ years of experience in the web hosting industry, I have achieved extensive exposure to result-oriented methodologies. And expertise in different domains like Datacentre Services, Cloud computing technology, Web hosting industry and many more.
Need help? We’re always here for you.
Register Your Free Domain Name
OFFER EXPIRES IN
04
min
59
sec