You can support us by downloading this article as PDF from the Link below. Download the guide as PDF

In this tutorial, I’ll walk you through the steps to install Redis Server on Ubuntu 20.04|18.04 / Debian 10|9. Redis is an Open Source in-memory data structure store. Redis can be used as a database server, as a message broker or for caching data in memory for faster retrieval.

Redis supported data structures are:

  • Hashes
  • sets with range queries
  • Strings
  • sorted lists
  • Hyperloglogs
  • Bitmaps
  • Geospatial indexes e.t.c

For CentOS 8 / CentOS 7 / Fedora use:

How to Install Latest Redis on CentOS 7

How to Install Redis on Fedora

Install and Configure Redis Server on RHEL 8 / CentOS 8

Install Redis on Ubuntu 20.04|18.04 / Debian 10|9

In this section, we will look at how to install the latest release of Redis on Ubuntu 18.04 / Debian 9. You can check the version of Redis Server available on your Ubuntu 20.04|18.04 / Debian 10|9 using the following command.

$ sudo apt policy redis-server
redis-server:
  Installed: (none)
  Candidate: 5:5.0.7-2 500
  Version table:
     5:5.0.7-2 500
        500 http://mirrors.digitalocean.com/ubuntu focal/universe amd64 Packages

Step 1: Update your server Package list

Ensure your system is updated before installing Redis

sudo apt update

Step 2: Install Redis on Ubuntu 20.04|18.04 / Debian 10|9

Redis Server package is available on the  Ubuntu/Debian upstream repository. After updating your system, install Redis by running the following commands in your terminal.

sudo apt -y install redis-server

If you would like to have a more recent version of Redis Server, you may opt to use PPA repository maintained by Redis Development.

# Ubuntu only
sudo add-apt-repository ppa:redislabs/redis
sudo apt-get update
sudo apt-get install redis

If you don’t have add-apt-repository command on your system, check our previous guide:

How to Install add-apt-repository on Debian / Ubuntu

Confirm Redis Server version:

$ redis-server -v
Redis server v=6.2.1 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=81a84d60f8ac9371

You can also install redis server from snap:

sudo snap install redis

Step 3: Start Redis Service on Ubuntu 20.04|18.04 / Debian 10|9

By default, Redis service should be started after installation. But you can start and enable the service to start on boot manually using the command:

sudo systemctl enable --now redis-server

Step 4: Enable network Listen for Redis Service

For network clients to connect to your Redis server, it needs the service to listen on a network IP Address.

Open the file /etc/redis/redis.conf with your favorite text editor

sudo vim /etc/redis/redis.conf

Then change line  bind 127.0.0.1 to below:

bind 0.0.0.0

Restart redis service after making the change:

sudo systemctl restart redis-server

Configure Redis Authentication – (Optional but recommended)

Configure Redis Authentication for clients to require AUTH <PASSWORD> before processing any other commands.

requirepass  <AuthPassword>

Example:

requirepass oobaiY8BA

Set Persistent Store for Recovery

Set persistence mode by changing the appendonlyvalue to yes

appendonly yes
appendfilename "appendonly.aof"

Restart redis service after making the changes

sudo systemctl restart redis-server

Check redis service status:

$ systemctl status redis-server
* redis-server.service - Advanced key-value store
   Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-12-23 03:42:41 PST; 1s ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
  Process: 10444 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS)
  Process: 10447 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
 Main PID: 10469 (redis-server)
    Tasks: 4 (limit: 2319)
   CGroup: /system.slice/redis-server.service
           `-10469 /usr/bin/redis-server 0.0.0.0:6379

Dec 23 03:42:40 ubuntu-01 systemd[1]: Starting Advanced key-value store...
Dec 23 03:42:41 ubuntu-01 systemd[1]: Started Advanced key-value store.

You can view the port and IP used by Redis service using the sscommand:

$ ss -tunelp | grep 6379
tcp LISTEN 0 128  0.0.0.0:6379 0.0.0.0:* uid:112 ino:52652 sk:40 <->

If you have an active firewall service, allow port 6379

sudo ufw allow 6379/tcp

Step 5: Test connection to Redis Server

Confirm that you can connect to redis locally:

$ redis-cli
127.0.0.1:6379>

Test authenticate:

127.0.0.1:6379> AUTH <AuthPassword>
OK

You should receive OK in the output. If you input a wrong password, Authentication should fail:

127.0.0.1:6379> AUTH WrongPassword
(error) ERR invalid password

Check redis information.

127.0.0.1:6379>  INFO

This will output a long list of data. You can limit the output by passing Section as an argument. E.g.

127.0.0.1:6379> INFO Server
# Server
 Server
redis_version:5.0.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:45d60903d31a0894
redis_mode:standalone
os:Linux 4.15.0-38-generic x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:7.3.0
process_id:10469
run_id:1630ad8b0bb9b8b8f811aac4aa7cae1fee51951d
tcp_port:6379
uptime_in_seconds:290
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:2061779
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf

Step 6: Perform Redis Benchmarking

Run the benchmark with 15 parallel connections, for a total of 10k requests, against local redis to test its performance.

$ redis-benchmark -h 127.0.0.1 -p 6379 -n 10000 -c 15

# Sample output
................................................
====== LRANGE_500 (first 450 elements) ======
  10000 requests completed in 0.62 seconds
  15 parallel clients
  3 bytes payload
  keep alive: 1

99.66% <= 1 milliseconds
100.00% <= 1 milliseconds
16129.03 requests per second

====== LRANGE_600 (first 600 elements) ======
  10000 requests completed in 0.81 seconds
  15 parallel clients
  3 bytes payload
  keep alive: 1

99.66% <= 1 milliseconds
99.93% <= 2 milliseconds
99.97% <= 3 milliseconds
100.00% <= 3 milliseconds
12345.68 requests per second

====== MSET (10 keys) ======
  10000 requests completed in 0.09 seconds
  15 parallel clients
  3 bytes payload
  keep alive: 1

100.00% <= 0 milliseconds
111111.11 requests per second

For more options and examples, use:

$ redis-benchmark --help

You have successfully installed Redis on Ubuntu 20.04|18.04 / Debian 10|9 Server or Workstation.

As an appreciation for the content we put out,
we would be thrilled if you support us!


As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.

LEAVE A REPLY

Please enter your comment!
Please enter your name here