Skip to content

kata-ai/merapi-plugin-redis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Merapi plugin for working with ioredis

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •