require('dotenv').config(); const debug = require('debug')('soundbirder:cache'); const redis = require('redis'); [redisHost, redisPort] = [process.env.REDIS_HOST, process.env.REDIS_PORT]; const redisClient = redis.createClient(redisPort, redisHost); (async () => { redisClient.connect(); })(); function cacheResponse(request, response) { debug("Caching response", request); redisClient.set(request, JSON.stringify(response)); } async function getCached(request) { debug("Getting cached response", request); const cached = await redisClient.get(request); if (cached) { return JSON.parse(cached); } return null; } module.exports = { cacheResponse, getCached }