unpkg/modules/utils/cache.js

24 lines
470 B
JavaScript

const LRUCache = require('lru-cache');
const maxMegabytes = 40; // Cap the cache at 40 MB
const maxLength = maxMegabytes * 1024 * 1024;
const maxSeconds = 60;
const maxAge = maxSeconds * 1000;
const cache = new LRUCache({
max: maxLength,
maxAge: maxAge,
length: Buffer.byteLength
});
function get(key) {
return cache.get(key);
}
function setex(key, ttlSeconds, value) {
return cache.set(key, value, ttlSeconds * 1000);
}
module.exports = { get, setex };