npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

merapi-plugin-redis

v0.2.1

Published

Merapi plugin for working with ioredis

Downloads

17

Readme

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