Interface RedisStoreOptions

Configuration options for the Redis store.

Example

// Basic configuration with default Redis URL
const options: RedisStoreOptions = {
ttl: 3600, // Store items for 1 hour
keyPrefix: "myapp:store:" // Custom prefix for Redis keys
};

Example

// Configuration with custom Redis URL
const options: RedisStoreOptions = {
url: "redis://username:[email protected]:6379/0",
ttl: 86400, // 1 day TTL
keyPrefix: "production:userstore:"
};

Example

// Using an existing Redis client
import { createClient } from "redis";
// or import IORedis from "ioredis";

const redisClient = createClient({
url: "redis://localhost:6379",
socket: {
reconnectStrategy: (retries) => Math.min(retries * 50, 1000)
}
});
await redisClient.connect();

const options: RedisStoreOptions = {
client: redisClient,
ttl: 7200 // 2 hours TTL
};

Example

// With vector indexing for semantic search
import { OpenAIEmbeddings } from "@langchain/openai";

const options: RedisStoreOptions = {
index: {
dims: 1536, // OpenAI embedding dimensions
embeddings: new OpenAIEmbeddings({ modelName: "text-embedding-3-small" }),
fields: ["content", "summary"], // Fields to index for vector search
}
};
interface RedisStoreOptions {
    client?: any;
    index?: IndexConfig;
    keyPrefix?: string;
    ttl?: number;
    url?: string;
}

Properties

client?: any

Pre-configured Redis client (can be either node-redis or ioredis client)

index?: IndexConfig

Configuration for vector indexing and search

keyPrefix?: string

Prefix for Redis keys (default: "langgraph:store:")

ttl?: number

Optional TTL in seconds for stored items

url?: string

Redis URL (default: redis://localhost:6379)