Running multiple instance of Redis on Centos

If I set to --daemonize no, Redis will crash when data insert.

ExecStart=/usr/bin/redis-server /etc/redis2.conf --daemonize no

Should change to

ExecStart=/usr/bin/redis-server /etc/redis2.conf --supervised systemd

My Redis is 5.0.7.

FYI.


You can run multiple instances of Redis using different ports on a single machine. If this what concerns you then you can follow the below steps.

By installing the first Redis instance, it listens on localhost:6379 by default.

For Second Instance create a new working directory

The default Redis instance uses /var/lib/redis as its working directory, dumped memory content is saved under this directory with name dump.rdb if you did not change it. To avoid runtime conflicts, we need to create a new working directory.

mkdir -p /var/lib/redis2/
chown redis /var/lib/redis2/
chgrp redis /var/lib/redis2/

Generate configurations

Create a new configuration file by copying /etc/redis/redis.conf

cp /etc/redis/redis.conf /etc/redis/redis2.conf
chown redis /etc/redis/redis2.conf

Edit following settings to avoid conflicts

logfile "/var/log/redis/redis2.log"
dir "/var/lib/redis2"
pidfile "/var/run/redis/redis2.pid"
port 6380

Create service file

cp /usr/lib/systemd/system/redis.service /usr/lib/systemd/system/redis2.service

Modify the settings under Service section

[Service]
ExecStart=/usr/bin/redis-server /etc/redis/redis2.conf --daemonize no
ExecStop=/usr/bin/redis-shutdown redis2

Set to start with boot

systemctl enable redis2

Start 2nd Redis

service redis2 start

Check Status

lsof -i:6379
lsof -i:6380

By Following this you can start two Redis servers. If you want more repeat the steps again.