在ExpressJS documentation中,沒有關於如何加載文件的內容。在Express中提供靜態文件 - 是否緩存?
我的問題是:當我請求一個靜態文件時,文件是否從每個請求的磁盤加載?或者它以某種方式被緩存?如果是這樣,怎麼樣?
在ExpressJS documentation中,沒有關於如何加載文件的內容。在Express中提供靜態文件 - 是否緩存?
我的問題是:當我請求一個靜態文件時,文件是否從每個請求的磁盤加載?或者它以某種方式被緩存?如果是這樣,怎麼樣?
快遞將不是自動緩存靜態內容。爲此,我們需要使用https://www.npmjs.com/package/cache-control中間件。更多的信息在這裏(http://blog.modulus.io/nodejs-and-express-static-content)哪些幫助
該答案中的lib涉及客戶端緩存的權利?問題是關於服務器端緩存。 – vsjn3290ckjnaoij2jikndckjb
有客戶端緩存(ETags等),但不是服務器端。
我實現了一個簡單的服務器端快速緩存系統。你可以在這裏看到它的一個工作版本: https://github.com/drewdotpro/https-express-static-server-cache-and-gzip
當我請求一個靜態文件,是文件形式加載每個請求的磁盤?
最有可能的是,它不會。所有現代操作系統都會在內存中緩存文件數據(或者說磁盤塊),因此後續對該數據的訪問將從內存中讀取,而不必再次從磁盤讀取。
這顯然取決於您的系統有多少空閒內存,如果其他任務需要內存,磁盤數據將逐漸從緩存中清除(通常最少使用的數據)。
從節點,因此快遞,你沒有太多的控制權這個機制,所以從這個角度來看它看起來爲如果該文件是從磁盤讀取爲每個請求。
查看下方鏈接http://only4ututorials.blogspot.com/2017/05/how-to-serve-static-file-in-express-js.html –