8

我正在使用使用node_redis的kue,但我也已经在使用我的会话,所以我想在特定端口上创建一个服务器,比如默认值,然后在 port 上监听。node_rediskue6379kue1234

我怎么能做到这一点?我发现这篇文章谈到了类似的事情,但我真的不想创建一个初始化脚本来做到这一点。

4

3 回答 3

22

启动 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 非常擅长处理写入,您可能只需要使用第二个数据库就可以了?

于 2014-07-10T21:24:46.497 回答
2

非常简单的命令:

echo "port 4000" | redis-server -

echo "port 4001" | redis-server -

于 2020-05-27T13:12:40.287 回答
-1

您可以在一台机器上运行具有不同端口的多个 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


check status

lsof -i:6379
lsof -i:6380

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

于 2019-07-12T07:43:48.257 回答