0

我想用 expressjs 显示一个静态 HTML 页面。最快的方法是什么?目前我有一个 html 文件存储在文件系统中,我正在使用res.sendfile(home + "/public/file.xml")

sendfile 是最快的方法还是将文件存储在某种数据库中会更快?

谢谢

4

2 回答 2

2

将文件存储在数据库中?好吧,有些人试图做这种邪恶的事情。但重点是什么?我的意思是数据库引擎也必须从磁盘读取文件。此外,还必须做许多其他事情,使加载过程更长。

现在你似乎混淆了一些事情。发送文件与发送任何其他响应相同。在某些时候,您必须发送二进制数据,因此您无法避免使用res.send(或任何其他形式)。当然,如果我们谈论的是 Node.js,因为您可能会考虑通过nginx提供文件,这可能是最好的静态文件服务器。

最后一件事:如果您仍想通过 Node.JS 提供文件,那么您可以考虑将它们缓存在内存中。这当然取决于您要服务的文件数量和大小。这就像创建保存数据并在有请求时发送数据的全局变量一样简单。这是您可以使用 Node.JS 实现的唯一真正的性能提升。

于 2012-07-07T14:33:48.017 回答
0

Express 支持静态文件服务:app.use(express.static(__dirname + '/public'));.

于 2012-07-07T13:55:43.480 回答