@myunisoft/redis
TypeScript icon, indicating that this package has built-in type declarations

3.4.2 • Public • Published

Redis

MyUnisoft Redis package.

npm version license size

🚧 Requirements

  • Node.js version 14 or higher.
  • Docker (for running tests).

If you ever want to setup a local instance of Redis, please follow this guide.

🚀 Getting Started

This package is available in the Node Package Repository and can be easily installed with npm or yarn.

$ npm i @myunisoft/redis
# or
$ yarn add @myunisoft/redis

📚 Usage

The package export methods to instantiate and close connection to Redis. By default, all features automatically re-use the current Redis connection.

import assert from "assert";
import {
  initRedis,
  getRedis,
  closeAllRedis
} from "@myunisoft/redis";

const publisher = await initRedis();
const subscriber = await initRedis({}, "subscriber");

assert.strictEqual(publisher, getRedis());
assert.strictEqual(subscriber, getRedis("subscriber"));

await closeAllRedis();

📜 API

export type Instance = "subscriber" | "publisher";

type CustomRedisOptions: Partial & { port?: number; host?: string; };

getRedis(instance: Instance = "publisher"): Redis;

This function return either the publisher instance, either the subscriber instance.


initRedis(redisOptions: CustomRedisOptions = {}, instance: Instance = "publisher", external?: boolean): Promise

This function is used to init redis connections. Passing instance with "subscriber" value, it init the local subscriber Redis instance. Otherwise, it init the local publisher Redis instance.


getConnectionPerf(instance: Instance = "publisher", redisInstance?: Redis): Promise

export interface GetConnectionPerfResponse {
  isAlive: boolean;
  perf?: number;
}

This function is used to check Redis connection state.

const { isAlive } = await getConnectionPerf(); // true

closeRedis(instance: Instance = "publisher", redisInstance?: Redis, forceExit: boolean = false): Promise

This function is used to close a single local instance.


closeAllRedis(redisInstance?: [Redis, Redis], forceExit: boolean = false): Promise

This function is used to close every local instances.


clearAllKeys(instance: Instance = "publisher", redis?: Redis): Promise

This function is used to clear all keys from redis db (it doesn't clean up streams or pubsub !).

await clearAllKeys();

The package also exports many classes listed below.

Contributors ✨

All Contributors

Thanks goes to these wonderful people (emoji key):

Nicolas Hallaert
Nicolas Hallaert

💻 ⚠️ 📖 👀
PierreDemailly
PierreDemailly

👀 ⚠️
Thomas.G
Thomas.G

💻 ⚠️ 📖 👀

This project follows the all-contributors specification. Contributions of any kind welcome!

Package Sidebar

Install

npm i @myunisoft/redis

Weekly Downloads

2

Version

3.4.2

License

MIT

Unpacked Size

120 kB

Total Files

48

Last publish

Collaborators

  • sabdennader
  • pierred
  • vianneyriotte
  • olllejik
  • f.ferre
  • maximevmyunisoft
  • arichardmyun
  • rossbob
  • osng
  • fraxken