redis-server
Start and stop a local Redis server in Node.js like a boss.
Installation
npm install redis-server
Usage
The constructor exported by this module optionally accepts a single argument;
a number or string that is a port or an object for configuration.
Basic Example
const RedisServer = require('redis-server');
const server = new RedisServer(6379);
server.open((err) => {
if (err === null) {
}
});
Configuration
Property | Type | Default | Description |
---|
bin | String | redis-server | A Redis server binary path. |
conf | String | | A Redis server configuration file path. |
port | Number | 6379 | A port to bind a Redis server to. |
slaveof | String | | An address of a Redis server to sync with. |
A Redis server binary must be available. If you do not have one in $PATH,
provide a path in configuration.
const server = new RedisServer({
port: 6379,
bin: '/opt/local/bin/redis-server'
});
You may use a Redis configuration file instead of configuration object
properties that are flags (i.e. port
and slaveof
). If conf
is
provided, no flags will be passed to the binary.
const server = new RedisServer({
conf: '/path/to/redis.conf'
});
Methods
For methods that accept callback
, callback
will receive an Error
as the first argument if a problem is detected; null
, if not.
RedisServer#open()
Attempt to open a Redis server. Returns a Promise
.
Promise style open()
server.open().then(() => {
});
Callback style open()
server.open((err) => {
if (err === null) {
}
});
RedisServer#close()
Close the associated Redis server. Returns a Promise
. NOTE: Disconnect
clients prior to calling this method to avoid receiving connection
errors from clients.
Promise style close()
server.close().then(() => {
});
Callback style close()
server.close((err) => {
});
Properties
RedisServer#isOpening
Determine if the instance is starting a Redis server; true
while a
process is spawning, and/or about to be spawned, until the contained Redis
server either starts or errs.
RedisServer#isRunning
Determine if the instance is running a Redis server; true
once a process
has spawned and the contained Redis server is ready to service requests.
RedisServer#isClosing
Determine if the instance is closing a Redis server; true
while a
process is being, or about to be, killed until the contained Redis server either
closes or errs.
Events
stdout
Emitted when a Redis server prints to stdout.
opening
Emitted when attempting to start a Redis server.
open
Emitted when a Redis server becomes ready to service requests.
closing
Emitted when attempting to stop a Redis server.
close
Emitted once a Redis server has stopped.