面试题答案
一键面试页面级缓存
常用技术或模块:express - cache - response
- 安装:
npm install express - cache - response
- 基本使用方法:
const express = require('express'); const cache = require('express - cache - response'); const app = express(); app.get('/cached - page', cache({ statusCode: 200, duration: 60 * 1000, // 缓存1分钟 etag: true }), (req, res) => { res.send('This is a cached page'); }); const port = 3000; app.listen(port, () => { console.log(`Server running on port ${port}`); });
- 此模块会根据设置的
duration
时间对响应进行缓存,在缓存时间内,相同请求会直接返回缓存内容,提高响应速度。etag
选项用于启用ETag头生成,有助于缓存控制。
- 此模块会根据设置的
数据级缓存
常用技术或模块:node - cache
- 安装:
npm install node - cache
- 基本使用方法:
const express = require('express'); const NodeCache = require('node - cache'); const app = express(); const myCache = new NodeCache(); app.get('/cached - data', (req, res) => { const cachedData = myCache.get('my - data - key'); if (cachedData) { return res.json(cachedData); } const newData = { message: 'This is newly fetched data' }; myCache.set('my - data - key', newData); res.json(newData); }); const port = 3000; app.listen(port, () => { console.log(`Server running on port ${port}`); });
- 先尝试从缓存中获取数据,如果存在则直接返回。若不存在,获取新数据,存入缓存并返回。这样对于频繁请求的数据,可减少重复获取数据的开销,提升性能。