动态数据Express.JS的缓存控制
如何在JSON响应上的 策略? *
我的JSON响应完全没有变化,因此我想积极地对其进行缓存。
我找到了如何在静态文件上进行缓存,但是找不到如何在动态数据上进行缓存。
回答:
优雅的方法是res.set()
在任何JSON输出之前简单地添加一个调用。在这里,您可以指定设置缓存控制标头,它将相应地进行缓存。
res.set('Cache-Control', 'public, max-age=31557600'); // one year
另一种方法是简单地res
在路由中为JSON响应设置属性,然后使用后备中间件(错误处理之前)来呈现和发送JSON。
app.get('/something.json', function (req, res, next) { res.JSONResponse = { 'hello': 'world' };
next(); // important!
});
// ...
// Before your error handling middleware:
app.use(function (req, res, next) {
if (! ('JSONResponse' in res) ) {
return next();
}
res.set('Cache-Control', 'public, max-age=31557600');
res.json(res.JSONResponse);
})
编辑:从改变res.setHeader
到res.set
的快递V4
以上是 动态数据Express.JS的缓存控制 的全部内容, 来源链接: utcz.com/qa/401562.html