Files
jh-monitor/src/lib/redis.ts

21 lines
637 B
TypeScript
Raw Normal View History

2025-09-23 11:40:12 +08:00
import 'server-only'
import { createClient, type RedisClientType } from 'redis'
2025-09-23 11:40:12 +08:00
const globalForRedis = globalThis as { redis?: RedisClientType }
2025-10-21 19:12:17 +08:00
const { REDIS_HOST, REDIS_PORT, REDIS_USERNAME, REDIS_PASSWORD } = process.env
if (!globalForRedis.redis) {
2025-10-21 19:13:38 +08:00
const url = (REDIS_USERNAME || REDIS_PASSWORD)
2025-10-21 19:12:17 +08:00
? `redis://${REDIS_USERNAME}:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}`
: `redis://${REDIS_HOST}:${REDIS_PORT}`
console.log('test url', url)
globalForRedis.redis = createClient({ url })
}
const redis = globalForRedis.redis
if (process.env.NODE_ENV === 'production') {
await redis.connect()
}
2025-09-23 11:40:12 +08:00
export default redis