动态数据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.setHeaderres.set的快递V4

以上是 动态数据Express.JS的缓存控制 的全部内容, 来源链接: utcz.com/qa/401562.html

回到顶部