@myunisoft/redis
v3.4.4
Published
MyUnisoft Redis package
Downloads
98
Readme
🚧 Requirements
- Node.js version 18 or higher.
- Docker (for running tests).
[!TIP] If you ever want to setup a local instance of Redis,
you can follow the Redis documentation for Mac,
or, you can use Memurai for Windows.
🚀 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
[!IMPORTANT] 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<RedisOptions> & {
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< Redis >
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< GetConnectionPerfResponse >
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< void >
This function is used to close a single local instance.
closeAllRedis(redisInstance?: [Redis, Redis], forceExit: boolean = false): Promise< void >
This function is used to close every local instances.
clearAllKeys(instance: Instance = "publisher", redis?: Redis): Promise< void >
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 ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!