16

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

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

4

2 回答 2

42

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

通过安装第一个 Redis 实例,它localhost:6379默认监听。

对于第二个实例,创建一个新的工作目录

默认 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

按照此操作,您可以启动两个 Redis 服务器。如果您想要更多,请再次重复这些步骤。

于 2016-09-07T07:53:22.627 回答
2

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

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

应该改为

ExecStart=/usr/bin/redis-server /etc/redis2.conf --监督系统

我的 Redis 是 5.0.7。

供参考。

于 2019-12-20T03:45:49.677 回答