当前位置: 首页 > 面试题库 >

在Centos上运行Redis的多个实例

包翔
2023-03-14
问题内容

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

我在Google上搜索了该信息,但没有找到任何相关信息。


问题答案:

您可以在单台计算机上使用不同的端口运行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服务器。如果您想要更多,请重复上述步骤。



 类似资料:
  • 然而,我很好奇如何确保这4个实例完全运行在4个不同的核心上?一个实例在启动时如何决定运行在其上的核心?

  • 我有一个应用程序在各种OSGI捆绑包中分离,这些捆绑包在单个Apache Karaf实例上运行。但是,我想迁移到微服务框架,因为 Apache Karaf由于其依赖机制和 我希望以后能够将应用程序带到云端(AWS、GCloud等) 我做了一些研究,查看了各种框架,并得出结论,Quarkus可能是正确的选择,因为它基于容器的方法、性能和可能的云集成机会。 现在,我在某一点上苦苦挣扎,到目前为止我还没

  • 问题内容: 我只是在我的Express应用程序中添加了Redis Store,并使它正常工作。 我想将这个Redis商店包含在Travis CI中,以使我的代码继续在那里工作。我在Travis文档中读到,可以使用出厂设置启动Redis。 在我的项目中,我不使用出厂设置,而是编写了自己的文件来指定端口和密码。 因此,我在文件中添加了以下行: 但这会在Travis CI上返回以下内容: 有没有什么办法

  • 问题内容: 大多数人似乎建议在不同的端口(6379和6380)上运行单独的Redis实例。为什么在创建第二个数据库时更通常建议这样做?我还没有完全阅读文档,但是大多数示例在连接时并未真正提及“选择Redis数据库”。Ruby客户端的一个示例,nrk / predis的自述文件: 目前,我们正在使用Campfire在办公室中运行Hubot,而我正在为GTalk工作第二个,因为每个Hubot实例只能使

  • 我们目前在办公室用营火运行Hubot,我正在为GTalk开发第二个适配器,因为每个Hubot实例只能使用一个适配器。因此,我正在考虑创建第二个Redis数据库或实例,以便隔离两个hubots之间的数据。但是在我深入讨论之前,我想了解为什么要使用单独的实例而不是创建第二个数据库。

  • 我在Amazon EC2中有多个应用程序实例,每个实例都运行几个工作进程。我希望每个工作进程都订阅一些通知(例如配置更改)。这个通知基本上应该是广播消息,这样一旦发送,每个工作人员都会收到它。 我知道SQS不支持消息广播。通过查看类似的问题/线索,我看到了使用SNS而不是SQS的建议。由于以下原因,我不确定这是否适用于我: 应用程序实例是自动缩放组的一部分,因此可以动态添加和删除它们。在这种情况下