有关缓存如何在ExpressJS中工作的说明

时间:2015-10-28 02:25:58

标签: node.js caching express server

我已经构建了一个ExpressJS服务器,可以对一组对象执行计算。数组放在请求的主体中(POST请求)我注意到第一次启动服务器并发送请求时,我收到了计算的预期结果。现在,当我向服务器发送完全相同的请求(无需重新启动服务器)时,我收到的响应要快得多。我认为情况就是这样,因为ExpressJS可能正在缓存请求/响应。

我已经查看了ExpressJS文档,详细了解了如何在ExpressJS中使用缓存但无法找到任何缓存。有人可以解释当ExpressJS服务器收到请求然后接收到完全相同的请求后缓存是如何工作的吗?有没有办法完全禁用缓存?

1 个答案:

答案 0 :(得分:1)

默认情况下,Express.js不执行任何缓存。您看到的效果可能是由运行Node.js / Express.js代码的Javascript V8引擎中的JIT(即时编译器)引起的。

启动服务器时,首先会将Javascript代码编译为机器代码。在这一步中,JIT将对您的代码进行一些“好的”优化,但没有“完美”的优化。在运行时(当您的服务器运行时),JIT将使用各种漂亮的技巧进一步优化您的代码。例如,更频繁执行的代码(“热代码”)将比很少执行的代码更优化。

一些参考资料以获取更多信息: