diff options
Diffstat (limited to 'src/lib/redis.ts')
| -rw-r--r-- | src/lib/redis.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lib/redis.ts b/src/lib/redis.ts new file mode 100644 index 0000000..edde3d6 --- /dev/null +++ b/src/lib/redis.ts @@ -0,0 +1,18 @@ +import { UmamiRedisClient } from '@umami/redis-client'; + +const REDIS = 'redis'; +const enabled = !!process.env.REDIS_URL; + +function getClient() { + const redis = new UmamiRedisClient({ url: process.env.REDIS_URL }); + + if (process.env.NODE_ENV !== 'production') { + globalThis[REDIS] = redis; + } + + return redis; +} + +const client = globalThis[REDIS] || getClient(); + +export default { client, enabled }; |