如何在不同端口上的单个服务器上运行redis?

时间:2014-07-06 21:39:13

标签: redis node-redis kue

我正在使用使用kuenode_redis,但我已经在我的会话中使用node_redis了,所以我想{ {1}}在特定端口上创建服务器,例如默认kue,然后6379侦听端口kue

我怎么能这样做?我发现this article谈到类似的事情,但我真的不想创建一个init脚本来执行此操作。

3 个答案:

答案 0 :(得分:18)

启动redis-server并为'port'提供一个不同的参数,可以在命令行上完成:

edd@max:~$ redis-server -h
Usage: ./redis-server [/path/to/redis.conf] [options]
       ./redis-server - (read config from stdin)
       ./redis-server -v or --version
       ./redis-server -h or --help
       ./redis-server --test-memory <megabytes>

Examples:
       ./redis-server (run the server with default conf)
       ./redis-server /etc/redis/6379.conf
       ./redis-server --port 7777
       ./redis-server --port 7777 --slaveof 127.0.0.1 8888
       ./redis-server /etc/myredis.conf --loglevel verbose

Sentinel mode:
       ./redis-server /etc/sentinel.conf --sentinel
edd@max:~$ 

您也可以从/etc/rc.local执行此操作,以便在启动时发生这种情况。

但也许你也可以重新思考你的方法。 Redis是如此擅长处理你可能只是通过第二个数据库获得的写入?

答案 1 :(得分:2)

非常简单的命令:

echo "port 4000" | redis-server -

echo "port 4001" | redis-server -

答案 2 :(得分:0)

您可以在一台计算机上使用不同的端口运行多个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

开始第二次重做

service redis2 start


check status

lsof -i:6379
lsof -i:6380
  

通过此操作,您可以启动两个Redis服务器。如果需要更多,请重复上述步骤。