在Express中提供静态文件 - 是否缓存?

4
在ExpressJS 文档中没有关于文件加载方式的说明。
我的问题是:当我请求一个静态文件时,文件是每次请求时从磁盘加载还是被缓存了?如果有缓存,是如何实现的?

请查看以下链接:http://only4ututorials.blogspot.com/2017/05/how-to-serve-static-file-in-express-js.html - Dexter
3个回答

6

1
这个答案中的库是关于客户端缓存的,对吗?问题是关于服务器端缓存的。 - user5918874

2
当我请求一个静态文件时,每次请求都会从磁盘加载文件吗?
很可能不会。所有现代操作系统都会在内存中缓存文件数据(或者说是磁盘块),因此对该数据的后续访问将从内存中读取,而不必再次从磁盘上读取。
这显然取决于您的系统有多少可用内存,如果内存需要用于其他任务,则磁盘数据将(逐渐)从缓存中清除(通常是最少使用的数据先清除)。
从Node和因此Express来看,您无法对此机制进行太多控制,所以从那个角度来看,似乎每个请求都会从磁盘读取文件。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接