gpt4 book ai didi

node.js - 如何在内存中缓存使用express.static 提供的文件?

转载 作者:太空宇宙 更新时间:2023-11-03 21:55:23 24 4
gpt4 key购买 nike

根据this question express.static 每次都会从硬盘读取文件。我想将提供的文件缓存在内存中,因为它们不会改变,数量不多,而且我有足够的内存来这样做。

对于这样的代码:

// serve all static files from the /public folder
app.use(express.static(path.join(__dirname, 'public')))

// serve index.html for all routes
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'public/index.html'))
})

如何确保 Express 将通过express.static 和 res.sendFile 提供的文件缓存在内存中?

最佳答案

这通常不值得麻烦,因为操作系统会为您处理这个问题。

所有现代操作系统都将使用未使用的 RAM,如 "buffer cache" or "page cache" 。最近使用的文件系统数据将存储在 RAM 中,因此一旦文件加载到内存中,任何后续读取都将从内存中提供,而不是实际从磁盘读取。

依赖此的优点是,当进程的内存消耗恰好增加时,操作系统会自动从缓冲区缓存中清除数据,从而不会冒使这些进程内存不足的风险(就像您可能遇到的那样)当您自己在用户空间中实现某些内容时)。

关于node.js - 如何在内存中缓存使用express.static 提供的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42668743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com