我正在使用kue,它使用node_redis。但是我已经在使用node_redis
来处理我的会话,所以我想让kue
在一个特定的端口(如默认的6379
)上创建一个服务器,然后在端口1234
上侦听。
我该怎么做呢?我找到了这篇文章,它谈到了类似的内容,但我不想创建一个初始化脚本来完成这个工作。
我正在使用kue,它使用node_redis。但是我已经在使用node_redis
来处理我的会话,所以我想让kue
在一个特定的端口(如默认的6379
)上创建一个服务器,然后在端口1234
上侦听。
我该怎么做呢?我找到了这篇文章,它谈到了类似的内容,但我不想创建一个初始化脚本来完成这个工作。
启动redis-server并为'port'参数提供不同的参数,可以在命令行上完成:
启动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:~$
你也可以重新考虑你的方法。Redis非常擅长处理写操作,所以你可以用第二个数据库来解决问题。你可以在/etc/rc.local
等位置设置,以便在启动时运行此操作。非常简单的命令:
echo "port 4000" | redis-server -
echo "port 4001" | redis-server -
您可以在单台计算机上使用不同端口运行多个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