A minimalistic Redis client using modern Node.js.
The goal is to write a minimal Redis client that:
- Targets modern versions of Node.js: LTS and stable.
- Uses Promises from the beginning, not just as an afterthought.
- Allows async configuration which can accommodate modern credential stores such as Vault.
Basic usage:
const YoRedis = require('yoredis');
const redis = new YoRedis({ url: 'redis:https://127.0.0.1:6379' });
redis.call('ping')
.then(function(reply) {
console.log(reply);
});
With dynamic, async configuration using Vaulted:
const redis = new YoRedis(function() {
return vault.read({ id: 'redis/production' })
.then(function(secret) {
return {
url: secret.url
};
});
});
redis.call('ping')
.then(function(reply) {
console.log(reply);
});
redis.callMany([ [ 'ping' ], [ 'set', 'foo', 'bar' ], [ 'get', 'foo' ] ])
.then(function(replies) {
// replies is:
// [
// 'PONG',
// 'OK',
// 'bar'
// ]
})
- Support streams.