Initial commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import Redis from 'ioredis';
|
||||
|
||||
// Initialize Redis client
|
||||
const redis = new Redis(process.env.REDIS_URL);
|
||||
|
||||
/**
|
||||
* Set a value in Redis with an optional expiration time.
|
||||
* @param {string} key The key under which to store the value.
|
||||
* @param {string} value The value to store.
|
||||
* @param {number} [expire] Optional expiration time in seconds.
|
||||
*/
|
||||
const setValue = async (key: string, value: string, expire?: number) => {
|
||||
if (expire) {
|
||||
await redis.set(key, value, 'EX', expire);
|
||||
} else {
|
||||
await redis.set(key, value);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Get a value from Redis.
|
||||
* @param {string} key The key of the value to retrieve.
|
||||
* @returns {Promise<string|null>} The value, if found, otherwise null.
|
||||
*/
|
||||
const getValue = async (key: string): Promise<string | null> => {
|
||||
const value = await redis.get(key);
|
||||
return value;
|
||||
};
|
||||
|
||||
/**
|
||||
* Delete a key from Redis.
|
||||
* @param {string} key The key to delete.
|
||||
*/
|
||||
const deleteKey = async (key: string) => {
|
||||
await redis.del(key);
|
||||
};
|
||||
|
||||
export { setValue, getValue, deleteKey };
|
||||
Reference in New Issue
Block a user