Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
lowdb文件数据库是否与node.js一起保留在内存中?_Node.js - Fatal编程技术网

lowdb文件数据库是否与node.js一起保留在内存中?

lowdb文件数据库是否与node.js一起保留在内存中?,node.js,Node.js,如果我在file1.js中读取数据库 当我在file2.js中第二次使用它时 节点是否执行第二次读取文件操作?还是在node index.js之后读取一次,并将其保留在内存中 我一直有一个关于在节点中读取文件的问题。每当我想要阻止多个读取操作时,我一直在做的是,如果在node中是这样的话: var fs = require('fs'); module.exports = Foo = { init(): function() { Foo.bar = fs.readFile

如果我在file1.js中读取数据库

当我在file2.js中第二次使用它时

节点是否执行第二次读取文件操作?还是在node index.js之后读取一次,并将其保留在内存中

我一直有一个关于在节点中读取文件的问题。每当我想要阻止多个读取操作时,我一直在做的是,如果在node中是这样的话:

var fs = require('fs');

module.exports = Foo = {
    init(): function() {
        Foo.bar = fs.readFile('someFile');
    }
};

因此,在代码中的某个地方通常是index.js,我会读Foo.init,然后每当我需要阅读内容时,我就会读Foo.bar。

冒着听起来刺耳的风险,第一个问题的答案是读lowdb。是否多次从磁盘读取.json文件取决于lowdb使用Fs中的哪些方法。该模块可以在您每次调用Fs.readSync时调用它,或者它可以保留内存中文件的缓存,或者它甚至可以只调用Fs.open并保留文件句柄列表,并且只延迟读取数据。这不取决于节点,而是取决于低分贝。我明白了。第二部分呢?这是否成功地将文件保存在内存中,或者我这样做是徒劳的?嗯,有点。是异步的,因此在上面的代码中,Foo.bar实际上不包含文件的内容。但是使用将返回文件的内容,所以是的,这是将文件内容保存在内存中的一种方法。如果I Foo.bar=require'./db.json',该怎么办?这与使用readFileSync的效果相同吗?
var settings = require('lowdb')('./db.json')('settings');

// do something with settings
var fs = require('fs');

module.exports = Foo = {
    init(): function() {
        Foo.bar = fs.readFile('someFile');
    }
};