File size: 500 Bytes
2f527a4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { env } from "../config.js";

let client, redis, redisLimiter;

export const createStore = async (name) => {
    if (!env.redisURL) return;

    if (!client) {
        redis = await import('redis');
        redisLimiter = await import('rate-limit-redis');
        client = redis.createClient({ url: env.redisURL });
        await client.connect();
    }

    return new redisLimiter.default({
        prefix: `RL${name}_`,
        sendCommand: (...args) => client.sendCommand(args),
    });
}