【发布时间】:2018-04-19 19:15:26
【问题描述】:
我今天得到的一个奇怪的观察是这样的:
我们有一个使用 NodeJS、express 和 mongoose 制作的 REST API。
有一个 GET 端点 /api/cars 相当简单地返回 Car 模型中的汽车列表:
app.get('/cars', (req, res, next) => {
Car.find()
.exec()
.then(cars => {
res.status(200).send(cars);
}, error => {
next(error);
});
});
有趣的是,第二次通过浏览器访问端点返回状态码304,这意味着它确实缓存了它(修改数据库中的列表将状态更改回200)。但是,我不太明白它发生在哪里以及是谁做的。
有趣的是,如果我手动将列表缓存在 Redis 数据库中并从那里检索它,即使数据根本没有修改,响应总是200。那么它是 mongoose 的一部分吗?
我的意思是我很欣赏自动缓存,但我想知道它是如何发生的。 我们没有为 express 使用特定的缓存模块。
【问题讨论】:
标签: node.js express caching mongoose