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

  • BaseStore<string, Uint8Array>
    • RedisByteStore

Constructors

Properties

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

Methods

  • 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