Redis 适配器
createRedisAdapter 创建基于 Redis 的缓存适配器,适合生产环境和多实例部署。
Redis 适配器需要 Redis 服务运行。无需额外安装 npm 包,VentoStack 使用原生协议连接:
# macOSbrew install redis && brew services start redis
# Dockerdocker run -d -p 6379:6379 redis:latestimport { createCache, createRedisAdapter } from "@ventostack/cache";
const cache = createCache({ adapter: createRedisAdapter({ url: process.env.REDIS_URL ?? "redis://localhost:6379", }), ttl: 300,});const adapter = createRedisAdapter({ url: "redis://localhost:6379", keyPrefix: "myapp:", // 键前缀,避免键冲突 maxRetries: 3, // 连接重试次数 connectTimeout: 5000, // 连接超时(ms)});在共享 Redis 实例上部署多个服务时,使用键前缀隔离:
// 服务 Aconst cacheA = createCache({ adapter: createRedisAdapter({ url: REDIS_URL, keyPrefix: "service-a:" }),});
// 服务 Bconst cacheB = createCache({ adapter: createRedisAdapter({ url: REDIS_URL, keyPrefix: "service-b:" }),});环境变量配置
Section titled “环境变量配置”推荐使用环境变量管理连接信息:
REDIS_URL=redis://user:password@redis.example.com:6379/0const cache = createCache({ adapter: createRedisAdapter({ url: process.env.REDIS_URL! }), ttl: 600,});const adapter = createRedisAdapter({ url: REDIS_URL });const cache = createCache({ adapter });
app.onStop(async () => { await adapter.close();});