How to set up Redis on Ubuntu!

How to set up Redis on Ubuntu!
Photo by josh Glauser / Unsplash

Intro

Redis is software used for database or caching that stores a key value running in-memory. Click for more details

Requirements

We need a machine with Ubuntu 16.04 installed for a non-root user with sudo authority in order to have Redis working in your hand.

Pre Setup and Test

I prefer to set up Redis from the source code. If you want to set it up via OS package manager or Homebrew I'll add those later.

First of all, we need to install some packages.

  • build-essential
  • tcl

As we always do, we get updates first.

sudo apt-get update
sudo apt-get install build-essential tcl

Download

I prefer to download the source code to /tmp.

cd /tmp
curl -O http://download.redis.io/redis-stable.tar.gz
tar xzvf redis-stable.tar.gz

Compile and Setup

make
make test
sudo make install

Configuration

After the setup, we need to configure Redis. To save the configuration files, we need to create /etc/redis a directory. To do this;

sudo mkdir /etc/redis

Copy the sample configuration files to the directory we just created.

sudo cp /tmp/redis-stable/redis.conf /etc/redis

Open and start editing the file.

In Configuration File;

We need to changecode supervised no to supervised systemd Because Ubuntu using systemd init.

Also, change dir ./ todir /var/lib/redis. This line indicates where permanent data is stored. Save and close the configuration file.

Creating Systemd Unit File

We need to edit redis.service file like the one below and then save it. (Typical service definition)

sudo nano /etc/systemd/system/redis.service
[Unit]
Description=Redis standalone
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

Redis User/Group/Path Definitions

To create a user;

sudo adduser --system --group --no-create-home redis

To create a directory;

sudo mkdir /var/lib/redis

To create ownership;

sudo chown redis:redis /var/lib/redis

To change write permission;

sudo chmod 770 /var/lib/redis

Starting Redis and Checking the Status

To start;

sudo systemctl start redis

To status check;

sudo systemctl status redis

When you execute the last command, you need to see the green "Active: active (running)" message.

Test with CLI

Redis CLI is a client tool to communicate with the Redis server. To execute;

redis-cli

let's ping it;

 127.0.0.1:6379> ping

response;

 PONG

Let's continue with the data test.

127.0.0.1:6379> set test "Habil"

Output is;

OK

Give it back to me;

127.0.0.1:6379> get test

Response

 "Habil"

Starting Redis Service on Boot-up

$ sudo systemctl enable redis

The End

We currently have a fully working Redis installation in our operating system. If you wish, you can take a look at official documents.