In this tutorial, I’ll walk you through the steps to install Redis Server on Ubuntu 22.04|20.04|18.04 Linux system. 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 22.04|20.04|18.04
In this section, we will look at how to install the latest release of Redis on Ubuntu. You can check the version of Redis Server available on your Ubuntu 22.04|20.04|18.04 using the following command.
$ sudo apt update
$ 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 22.04|20.04|18.04
Redis Server package is available on the Ubuntu 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.
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:
Confirm Redis Server version:
$ redis-server -v
Redis server v=6.2.6 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=9c9e426e2f96cc51
Step 3: Start Redis Service on Ubuntu 22.04|20.04|18.04
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
Step 5: 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
Step 6: Set Persistent Store for Recovery (Optional)
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 7: 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 8: 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 22.04|20.04|18.04 Server or Workstation.
