运行 Centos 上的多个 Redis 实例

Running multiple instance of Redis on Centos

我想 运行 Centos 7 上的多个 Redis 实例。 任何人都可以在此处指出正确的 link 或 post 步骤。

我用谷歌搜索了相关信息,但没有找到任何相关信息。

您可以 运行 在一台机器上使用不同端口的多个 Redis 实例。如果这是您的顾虑,那么您可以按照以下步骤操作。

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

对于二审创建一个新的工作目录

默认的Redis实例使用/var/lib/redis作为它的工作目录,如果你没有改变它,转储的内存内容保存在这个目录下,名称为dump.rdb。为避免运行时间冲突,我们需要创建一个新的工作目录。

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

生成配置

通过复制/etc/redis.conf

创建一个新的配置文件
cp /etc/redis.conf /etc/redis2.conf
chown redis /etc/redis2.conf

编辑以下设置以避免冲突

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

创建服务文件

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

修改服务部分下的设置

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

设置开机启动

systemctl enable redis2

启动第二个Redis

service redis2 start

检查状态

lsof -i:6379
lsof -i:6380

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

如果我设置为--daemonize no,Redis 会在数据插入时崩溃。

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

应该改为

ExecStart=/usr/bin/redis-server /etc/redis2.conf --受监督的systemd

我的Redis是5.0.7.

仅供参考。