Skip to content
This repository has been archived by the owner on Sep 17, 2019. It is now read-only.
/ redis-events Public archive

Module simplifying access to the publish/subscribe system provided by Redis.

Notifications You must be signed in to change notification settings

OpusCapita/redis-events

Repository files navigation

ATTENTION

As this library is discontinued, we can provide you a better and more reliable alternative to use. Please have a look at RedisEventClient that is part of the RedisClient lib for OpusCapita Andariel.


ocbesbn-redis-events

Coverage Status Build status

This module provides simplified access to the publish/subscribe system provided by Redis. It uses Consul in order to determine the required Redis server endpoint and further configurations. To have a look at the full API, please visit the related wiki page.

Minimum setup

First got to your local code directory and run:

npm install ocbesbn-redis-events

To go with the minimum setup, you need to have access to a running Consul server to get your endpoint configuration for Redis. In addition, a Redis server is required which has to be registered inside Consul. If Redis password authentication is required, Consul has to provide the configuration key {{your-service-name}}/redis/password where {{your-service-name}} is the least name of the directory your code runs in. If authentication is not used, you can set the consul.redisPasswordKey to null or false when creating a new instance of RedisEvents.

If all this is set up, go to you code and add the following lines:

const RedisEvents = require('ocbesbn-redis-events');

var events = new RedisEvents({ consul : { host : '{{your-consul-host}}' } });

// Subscribe to a channel by name.
events.subscribe('my-channel', console.log).then(() => events.emit('Hello, world!', 'my-channel'));
// - OR -
// Subscribe to a channel by pattern.
events.subscribe('my-channel.*', console.log).then(() => events.emit('Hello, world!', 'my-channel.sub-channel'));

// Close all Redis connections.
events.disposeAll();

Default configuration

The default configuration object provides hints about what the module's standard behavior is like.

{
    serializer : JSON.stringify,
    parser : JSON.parse,
    defaultEmitChannel : null,
    consul : {
        host : 'consul',
        redisServiceName  : 'redis',
        redisPasswordKey : 'redis/password'
    },
    context : {
    }
}

About

Module simplifying access to the publish/subscribe system provided by Redis.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published