Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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/4/powerbi/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
Javascript 节点:写入文件,保持一定的长度(createWriteStream?)_Javascript_Node.js_Express_Fs - Fatal编程技术网

Javascript 节点:写入文件,保持一定的长度(createWriteStream?)

Javascript 节点:写入文件,保持一定的长度(createWriteStream?),javascript,node.js,express,fs,Javascript,Node.js,Express,Fs,我需要一些帮助 我有一个UDP服务器,它不断收到大量消息 我想写我要进入文件的最后50000条消息(或某个KB) 因此,前50000条消息只是被附加到一个文件中 第50001条消息删除文件的第一行,并将消息附加到文件的底部 现在,它只是附加到文件中。。但是文件太大了,我只想删除所有的开始行,直到剩下大约50000行。有什么办法吗?此文件将以每秒150多次的速度写入 udpserver.on("message", function (msg, rinfo){

我需要一些帮助

我有一个UDP服务器,它不断收到大量消息

我想我要进入文件的最后50000条消息(或某个KB)

因此,前50000条消息只是被附加到一个文件中

第50001条消息删除文件的第一行,并将消息附加到文件的底部

现在,它只是附加到文件中。。但是文件太大了,我只想删除所有的开始行,直到剩下大约50000行。有什么办法吗?此文件将以每秒150多次的速度写入

udpserver.on("message",
       function (msg, rinfo){
                fs.appendFile("../Logs/Raw-UDP-Log.log", msg.toString()+"\n", function (err) {
                  console.log("Writing to log error: ", err);
                });
        });

如果每秒写入150行,并且保存最后500行,则只保存最后3~4秒的活动。这有意义吗?如果将这些消息保存在内存中的数组中,根据
行[idx++%lines.length]=…
将其写入,然后出错时将其转储到文件中,甚至在没有问题时不处理文件,这难道不是更有意义吗?是的,也许我应该增加这个数字。。。可能当文件达到50000行时,您可能需要一个内存映射文件。这个模块在这里应该很有用。@Mike'Pomax'Kamermans噢!是的,这是个好主意,我没想到!我正在看,看看我是否能想出一个办法,让它工作,一个已经停止。