@llm-optimize/cache-redis
v0.1.3
Published
> Redis-backed LLM response cache for `@llm-optimize/core`. Share cached responses across multiple servers, workers, or serverless functions.
Maintainers
Readme
@llm-optimize/cache-redis
Redis-backed LLM response cache for
@llm-optimize/core. Share cached responses across multiple servers, workers, or serverless functions.
Install
npm install @llm-optimize/cache-redis @llm-optimize/coreWorks with any Redis client that implements get, set, and del — including ioredis and node-redis.
Usage — with ioredis
import { LLMOptimizer } from "@llm-optimize/core";
import { RedisCache } from "@llm-optimize/cache-redis";
import Redis from "ioredis";
const redis = new Redis(process.env.REDIS_URL);
const ai = new LLMOptimizer({
provider: "openai",
cache: new RedisCache(redis),
providerClientFactory: { create: () => myClient },
});Usage — with node-redis
import { createClient } from "redis";
import { RedisCache } from "@llm-optimize/cache-redis";
const redis = createClient({ url: process.env.REDIS_URL });
await redis.connect();
const cache = new RedisCache(redis);Custom Key Prefix
// Default prefix is "llm-opt" → keys stored as "llm-opt:<hash>"
const cache = new RedisCache(redis, "my-app");
// Keys stored as "my-app:<hash>"Cache TTL
LLMOptimizer sets a default TTL of 5 minutes per cached response. You can also use the cache directly:
await cache.set("my-key", { content: "response" }, 120_000); // 2 minute TTL
await cache.get("my-key");
await cache.delete("my-key");When to Use
| Scenario | Use |
|---|---|
| Multiple app servers | ✅ RedisCache |
| Serverless / Lambda | ✅ RedisCache |
| High-traffic production | ✅ RedisCache |
| Local dev / single server | Use @llm-optimize/cache-memory instead |
