node package manager


Validate and parse Redis URI connection schemes


Validate and parse Redis URI connection schemes

The URI connection scheme expects the following parameters:

Component Required? Description
redis:// Required A protocol prefix to indentifying this as URI connection format
auth@ AUTH password to connect to the redis instance
host Required A network location (e.g. hostname or IP address) of the redis server
:port The server port assigned to the redis process; defaults to 6379
/database An available redis database number; defaults to 0


Parse the passed uri into an object containing four properties: auth, host, port, db. Note that if no AUTH password is provided, the auth property is set to null.

var redisuri = require('redisuri');
// => { auth: null, host: 'localhost', port: 6379, db: 0 }
// => { auth: authstring, host: '', port: 6379, db: 7 }


Ensures that the passed uri contains the redis: protocol and specifies a hostname. Throws a TypeError if either condition fails. If successful, returns the uri for convienient wrapping with parse.

var redisuri = require('redisuri');
var uri = 'redis://localhost:6379';
var bad = 'localhost';
// => 'redis://localhost:6379'
// => TypeError: A protocol must be specified in the Redis URI connection scheme (e.g. redis:)

Production ready. To run the full unit test suite:

npm install
npm test

PRs are welcome! For bugs, please include a failing test which passes when your PR is applied.