尽可能快地在NodeJS中发送静态响应

时间:2014-04-06 10:25:32

标签: node.js stream

我想在服务器启动时预先编译一些主要基于服务器配置的Jade模板(因此结果是静态html)。然后,对于每个客户端请求,我想尽快提供此内容。

可能有几种选择,但我不确定最有效的选择。

  1. 保存文件并在每个请求中流式传输
  2. 保存在Redis数据库中并在每个请求中流式传输(不确定如何)
  3. 将所有内容作为字符串存储在内存中并发送每个请求
  4. 我可能还有更多我不了解的选择。我甚至考虑创建流,可以为每个请求重复使用,但它似乎不可能。

    我不是在寻找终极超级解决方案,也许你可以分享一下这个主题的经验。

2 个答案:

答案 0 :(得分:1)

你应该把nginx放在node.js前面。然后nginx可以高效地为半静态页面提供服务,并且可以将动态页面请求转发到node.js.有关如何进行设置的详细信息,请参阅:Node.js + Nginx - What now?

答案 1 :(得分:1)

刚刚加入John Zwinck的回答 如果您认为由于某种原因设置静态文件(由nginx可服务)不适合您,或者数据是定时/需要经常更新/需要在一段时间间隔后过期,您可以另外使用memcache。 Nginx有内置的memcache模块。你可以从memcache查询具体的网址。