node.js的fs.readFileSync
是否缓存已读取的文件?
我不认为是因为医生没有这么说,但我的代码是这样的。。
- 编辑
代码的相关部分
// after mainPath file is altered, it's not reflected until I restart node.js
var scriptString = fs.readFileSync(mainPath);
var app = vm.createScript(scriptString, mainPath);
// Run the app
app.runInContext(context);
在给定的读取操作期间对读取进行缓冲。例如,当您要求读取一个字节时,它可能会将比单个字节多得多的字节读取到缓冲区中,然后将该单个字节返回给您。但除此之外,node.js中没有内置从文件的一次读取到另一次读取的缓存。而且,如果您使用readFileSync()
一次读取整个文件,这种缓冲不会影响您。
操作系统本身将在node.js下进行缓存,但这通常是直写缓存,旨在保存磁盘读取,但永远不会有过时的数据。