const redis = require('redis'); const client = redis.createClient({ host: 'your_redis_host', port: 'your_redis_port', auth_pass: 'your_redis_password' });
module.exports.get = async(event, context) => { const cacheKey = 'your_key'; return new Promise((resolve, reject) => { client.get(cacheKey, (err, result) => { if (err) { reject(err); } if (result) { resolve(JSON.parse(result)); } else { // No data in cache, connect to MongoDB const MongoClient = require('mongodb').MongoClient; MongoClient.connect('your_mongodb_uri', function(err, client) { if (err) { reject(err); } const collection = client.db('your_db_name').collection('your_collection_name'); collection.find({}).toArray(function(err, results) { if (err) { reject(err); }
// Cache data for next time
client.set(cacheKey, JSON.stringify(results), 'EX', 60, function(err, response) {
if (err) {
reject(err);
}
resolve(results);
});
});
});
}
});
});
};
const AWS = require('aws-sdk'); const lambda = new AWS.Lambda();
module