feat: setup redis client

This commit is contained in:
Henry
2026-01-25 21:01:58 +00:00
parent bf6a06b7c7
commit fae903f384

View File

@@ -0,0 +1,34 @@
import Redis from "ioredis";
import { env } from "~/env";
let redisClient: Redis | null = null;
export function getRedisClient(): Redis | null {
if (redisClient) {
return redisClient;
}
const redisUrl = env.REDIS_URL;
if (!redisUrl) {
return null;
}
redisClient = new Redis(redisUrl, {
maxRetriesPerRequest: 3,
enableReadyCheck: true,
lazyConnect: true,
});
return redisClient;
}
export async function closeRedisClient(): Promise<void> {
if (redisClient) {
await redisClient.quit();
redisClient = null;
}
}