How can I run redis on a single server on different ports?

bob_cobb picture bob_cobb · Jul 6, 2014 · Viewed 13.4k times · Source

I'm using kue which uses node_redis, but I'm also already using node_redis for my sessions, so I'd like to have kue create a server on a specific port say the default 6379 and then kue listen on port 1234.

How would I be able to do this? I found this article which talks about something similar, but I don't really want to have to create an init script to do this.

Answer

Dirk Eddelbuettel picture Dirk Eddelbuettel · Jul 10, 2014

Launch redis-server and supply a different argument for 'port' which can be done on the command-line:

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:~$ 

You can do this from, say, /etc/rc.local as well so that this happens at startup.

But maybe you can also rethink your approach. Redis is so good at handling writes that you may just get by with a second database?