merapi-plugin-redis
TypeScript icon, indicating that this package has built-in type declarations

0.2.1 • Public • Published

Merapi Plugin Redis

Introduction

Merapi plugin for working with ioredis.

Quick Start

Installation

npm install merapi-plugin-redis --save

Configuration

{
    "name": "merapi",
    "version": "0.1.0",
    "plugins": [
        "redis"
    ],
    "components": {
        "redisPub": {
            "type": "redis",
            "config": "redisConfig"
        },
        "redisSub": {
            "type": "redis",
            "config": "redisConfig"
        }
    },
    "redisConfig": {
        "type": "single",
        "prefix": "merapi",
        "host": "127.0.0.1",
        "port": "6379",
        "password": "mypassword",
        "ttl": "300",
        "redisHosts": "[{\"host\"\"127.0.0.1\"\"port\": 6379},{\"host\"\"127.0.0.1\"\"port\"\"16379\"}]",
        "sentinelName": "mymaster",
        "args": {}
    }
}

The arguments passed to the redis configuration are different from one another, where:

  • type identifies redis type (single, cluster, or sentinel)
  • prefix prefix for redis key (key will be {prefix}:yourkey)
  • host redis host
  • port redis port
  • password redis auth
  • ttl default value for ttl
  • redisHosts (optional) fill this field if you wish to use more than one host. Fill this field in string format
  • sentinelName (optional) name for sentinel master
  • args (optional) used as second argument in cluster configuration

Standard Configuration

Example of redis configuration.

    {
        "type": "single",
        "prefix": "merapi",
        "host": "127.0.0.1",
        "port": 6380,
        "password": "mypassword"
    }

More information about redis configuration

Cluster Configuration

    {
        "type": "cluster",
        "prefix": "merapi",
        "password": "mypassword",
        "redisHosts": "[{\"host\"\"127.0.0.1\"\"port\": 6379},{\"host\"\"127.0.0.1\"\"port\": 16379}]",
        "args": {
            "slotsRefreshTimeout": 2000
        }
    }

More information about cluster configuration

Sentinel Configuration

    {
        "type": "sentinel",
        "prefix": "merapi",
        "host": "localhost",
        "port": "26379",
        "sentinelName": "mymaster",
        "password": "mypassword"
    }

More information about sentinel configuration

Usage

You can call redis client by using client function:

import { IRedis } from "merapi-plugin-redis";
 
export default class YourManager {
    constructor(protected redisRepo: IRedis) {
        super();
    }
 
    getRedisClient() {
        const redisClient = this.redisRepo.client();
        return redisClient;
    }
}

Then you can proceed to use ioredis from redisClient.

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i merapi-plugin-redis

Weekly Downloads

4

Version

0.2.1

License

MIT

Unpacked Size

18.8 kB

Total Files

9

Last publish

Collaborators

  • ikmals
  • rickyanders
  • rizqme