From 1f2030140bcae36ca409b81ba9e1f1ede0793078 Mon Sep 17 00:00:00 2001 From: rafiarrafif Date: Thu, 8 May 2025 23:46:31 +0700 Subject: [PATCH] add redis connection --- bun.lockb | Bin 60351 -> 63698 bytes package.json | 1 + src/utils/databases/redis/connection.ts | 7 +++++++ 3 files changed, 8 insertions(+) create mode 100644 src/utils/databases/redis/connection.ts diff --git a/bun.lockb b/bun.lockb index 4fb12fdec7e0bc45d1b6a04bb561951c9e8aaec9..81df191ba123638aa7d759c7bdf4c08368ac99f8 100644 GIT binary patch delta 10064 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 G^M3(!;$0g6 delta 7907 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 diff --git a/package.json b/package.json index 0942d5e..3420871 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "bcrypt": "^5.1.1", "cookie": "^1.0.2", "elysia": "latest", + "ioredis": "^5.6.1", "joi": "^17.13.3", "jsonwebtoken": "^9.0.2", "ua-parser-js": "^2.0.3" diff --git a/src/utils/databases/redis/connection.ts b/src/utils/databases/redis/connection.ts new file mode 100644 index 0000000..5325864 --- /dev/null +++ b/src/utils/databases/redis/connection.ts @@ -0,0 +1,7 @@ +import Redis from "ioredis"; + +export const redis = new Redis({ + host: process.env.REDIS_HOST, + port: Number(process.env.REDIS_PORT), + password: process.env.REDIS_PASSWORD, +});