This commit is contained in:
Nicolas
2024-07-16 22:41:13 -04:00
parent 92202de12b
commit c9073a747c
5 changed files with 127 additions and 61 deletions
+9 -11
View File
@@ -1,10 +1,8 @@
import Redis from "ioredis";
// Initialize Redis client
const redis = new Redis(process.env.REDIS_URL);
import { redisRateLimitClient } from "./rate-limiter";
// Listen to 'error' events to the Redis connection
redis.on("error", (error) => {
redisRateLimitClient.on("error", (error) => {
try {
if (error.message === "ECONNRESET") {
console.log("Connection to Redis Session Store timed out.");
@@ -15,16 +13,16 @@ redis.on("error", (error) => {
});
// Listen to 'reconnecting' event to Redis
redis.on("reconnecting", (err) => {
redisRateLimitClient.on("reconnecting", (err) => {
try {
if (redis.status === "reconnecting")
if (redisRateLimitClient.status === "reconnecting")
console.log("Reconnecting to Redis Session Store...");
else console.log("Error reconnecting to Redis Session Store.");
} catch (error) {}
});
// Listen to the 'connect' event to Redis
redis.on("connect", (err) => {
redisRateLimitClient.on("connect", (err) => {
try {
if (!err) console.log("Connected to Redis Session Store!");
} catch (error) {}
@@ -38,9 +36,9 @@ redis.on("connect", (err) => {
*/
const setValue = async (key: string, value: string, expire?: number) => {
if (expire) {
await redis.set(key, value, "EX", expire);
await redisRateLimitClient.set(key, value, "EX", expire);
} else {
await redis.set(key, value);
await redisRateLimitClient.set(key, value);
}
};
@@ -50,7 +48,7 @@ const setValue = async (key: string, value: string, expire?: number) => {
* @returns {Promise<string|null>} The value, if found, otherwise null.
*/
const getValue = async (key: string): Promise<string | null> => {
const value = await redis.get(key);
const value = await redisRateLimitClient.get(key);
return value;
};
@@ -59,7 +57,7 @@ const getValue = async (key: string): Promise<string | null> => {
* @param {string} key The key to delete.
*/
const deleteKey = async (key: string) => {
await redis.del(key);
await redisRateLimitClient.del(key);
};
export { setValue, getValue, deleteKey };