22 lines
483 B
TypeScript
22 lines
483 B
TypeScript
import Redis, { type Redis as RedisClient } from "ioredis";
|
|
|
|
declare global {
|
|
// eslint-disable-next-line no-var
|
|
var __redis: RedisClient | undefined;
|
|
}
|
|
|
|
export function getRedis() {
|
|
if (globalThis.__redis) return globalThis.__redis;
|
|
|
|
const url = process.env.REDIS_URL || "redis://localhost:6379";
|
|
const client = new Redis(url, {
|
|
maxRetriesPerRequest: null,
|
|
});
|
|
|
|
if (process.env.NODE_ENV !== "production") {
|
|
globalThis.__redis = client;
|
|
}
|
|
|
|
return client;
|
|
}
|