Class that extends the BaseStore class to interact with a Redis database. It provides methods for getting, setting, and deleting data, as well as yielding keys from the database.

Example

const store = new RedisByteStore({ client: new Redis({}) });
await store.mset([
[
"message:id:0",
new TextEncoder().encode(JSON.stringify(new AIMessage("ai stuff..."))),
],
[
"message:id:1",
new TextEncoder().encode(
JSON.stringify(new HumanMessage("human stuff...")),
),
],
]);
const retrievedMessages = await store.mget(["message:id:0", "message:id:1"]);
console.log(retrievedMessages.map((v) => new TextDecoder().decode(v)));
const yieldedKeys = [];
for await (const key of store.yieldKeys("message:id:")) {
yieldedKeys.push(key);
}
console.log(yieldedKeys);
await store.mdelete(yieldedKeys);

Hierarchy (view full)

  • Toolkit<string, Uint8Array>
    • RedisByteStore

Constructors

  • Parameters

    • fields: {
          client: Redis;
          namespace?: string;
          ttl?: number;
          yieldKeysScanBatchSize?: number;
      }
      • client: Redis
      • Optional namespace?: string
      • Optional ttl?: number
      • Optional yieldKeysScanBatchSize?: number

    Returns RedisByteStore

Properties

client: Redis
yieldKeysScanBatchSize: number = 1000
namespace?: string
ttl?: number

Methods

  • Deletes multiple keys from the Redis database.

    Parameters

    • keys: string[]

      Array of keys to be deleted.

    Returns Promise<void>

    Promise that resolves when all keys have been deleted.

  • Gets multiple keys from the Redis database.

    Parameters

    • keys: string[]

      Array of keys to be retrieved.

    Returns Promise<(undefined | Buffer)[]>

    An array of retrieved values.

  • Sets multiple keys in the Redis database.

    Parameters

    • keyValuePairs: [string, Uint8Array][]

      Array of key-value pairs to be set.

    Returns Promise<void>

    Promise that resolves when all keys have been set.

  • Yields keys from the Redis database.

    Parameters

    • Optional prefix: string

      Optional prefix to filter the keys.

    Returns AsyncGenerator<string, any, unknown>

    An AsyncGenerator that yields keys from the Redis database.

Generated using TypeDoc