JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 142
  • Score
    100M100P100Q79047F
  • License MIT

Redis message provider for qified

Package Exports

  • @qified/redis

Readme

@qified/redis

Redis message provider for Qified.

This package implements a message provider backed by Redis using the Redis publish/subscribe commands.

Table of Contents

Installation

pnpm add @qified/redis

Usage with Qified

import { createQified } from "@qified/redis";
import type { Message } from "qified";

const qified = createQified({ uri: "redis://localhost:6379" });

await qified.subscribe("example-topic", {
        async handler(message: Message) {
                console.log(message);
        },
});

await qified.publish("example-topic", { id: "1", data: "Hello from Redis!" });

await qified.disconnect();

API

RedisMessageProviderOptions

Configuration options for the Redis message provider.

defaultRedisUri

Default Redis connection string ("redis://localhost:6379").

RedisMessageProvider

Implements the MessageProvider interface using Redis pub/sub.

constructor(options?: RedisMessageProviderOptions)

Creates a new provider.

Options:

  • uri: Redis connection URI (defaults to "redis://localhost:6379").

publish(topic: string, message: Message)

Publishes a message to a topic.

subscribe(topic: string, handler: TopicHandler)

Subscribes a handler to a topic.

unsubscribe(topic: string, id?: string)

Unsubscribes a handler by id or all handlers for a topic.

disconnect()

Disconnects the underlying Redis clients and clears all subscriptions.

createQified(options?: RedisMessageProviderOptions)

Convenience factory that returns a Qified instance configured with RedisMessageProvider.

Contributing

Contributions are welcome! Please read the CONTRIBUTING.md and CODE_OF_CONDUCT.md for details on our process.

License

MIT © Jared Wray. See LICENSE for details.