Сразу хочу спросить, я делаю сайт для создания изображений, и он использует node-canvas для создания изображений. Некоторые конечные точки используют суперагент для запроса (GET
) других API и отображения данных на изображении.
В настоящее время у меня нет ничего, чтобы изображения генерировались и загружались быстрее. Он использует довольно много памяти и процессора в моем проекте и может стать большой проблемой для меня, если я не реализую это. Я искал что-то о Redis для кеширования, но я использую Glitch для его разработки, и оно там не поддерживается.
Я использовал следующий код express. js после прочтения руководства. Кэширование на стороне сервера.
В моем файле создания изображений: (например, размытие. js)
res.header('Cache-Control', 'max-age=120');
Один из моих файлов маршрутизатора:
const serveStatic = require('serve-static')
router.use(serveStatic(path.join(__dirname, 'public'), {
maxAge: '60',
setHeaders: setCustomCacheControl
function setCustomCacheControl (res, path) {
if (serveStatic.mime.lookup(path) === 'text/html' && "text/javascript") {
// Custom Cache-Control for HTML files
res.setHeader('Cache-Control', 'public, max-age=60')
console.log('Test')
}
}
}))
I Я проверил приведенный выше код, и, похоже, это так, но я не уверен на 100%, что он работает (я даже проверил консоль Chrome на наличие разницы в загрузке ms
). Что ж, если я добавлю что-то подобное, это поможет моему Сервису, который выполняет генерацию изображений, JSON и карты статистики игровых образов, так как его не нужно запрашивать снова и снова и использовать много ресурсов.