const Redis = require("ioredis") const redis = new Redis(process.env.REDIS_URI) // Function to set a token with expiration async function set(key, value, expirationInSeconds) { await redis.set(key, value, 'EX', expirationInSeconds) console.log(`Token ${key} set successfully with expiration of ${expirationInSeconds} seconds!`) } // Function to get a token async function get(key) { const token = await redis.get(key) if (token === null) { console.log('Token not found') } else { console.log(`Token for ${key}: ${token}`) return token } } // Function to delete a token async function del(key) { const deletedCount = await redis.del(key) if (deletedCount === 1) { console.log(`Token ${key} deleted successfully!`) } else { console.log('Token not found') } } module.exports = { set, get, del } // // Example usage // const tokenKey = 'userToken' // const tokenValue = 'exampleTokenValue' // const expirationSeconds = 300; // 300 seconds expiration (5 minutes) // (async () => { // await setTokenWithExpiration(tokenKey, tokenValue, expirationSeconds) // await getToken(tokenKey) // await updateToken(tokenKey, 'newTokenValue') // await getToken(tokenKey) // await deleteToken(tokenKey) // await getToken(tokenKey) // Checking if token is deleted // redis.quit() // Close Redis connection // })()