同步节点中的文件写入
Synchronising file writes in node
我有一个内存中的节点/js对象,我备份到光盘(我正在使用JSON),目前使用fs.writeFile()。
如果这种情况经常发生,如何确保多个文件写入不会交错,从而损坏数据? 我在文档中没有看到任何表明 fs.writeFile 对文件进行独占访问的内容。 我知道我可以使用同步版本,但这反而违背了重点。
我对node.js仍然很陌生,所以如果这是一个愚蠢的问题,或者之前已经回答过,请原谅我(我确实搜索过)。
感谢收到的提示或链接。
谢谢。
就像在任何其他环境中一样,您必须手动同步它们,只有您的应用程序知道何时可以交错等的"逻辑"。
在其他环境中,如果尝试同步的是线程,则可以使用锁/信号量。在 node 中,在对应用程序一无所知的情况下,我想我会选择一个队列:每次你想专门向文件写入某些内容时,将某些内容排队,并有一个"worker"取消排队和写入。
相关文章:
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从nginx访问节点文件
- 如何引用HTML中节点模块中的js文件
- S3文件上传文件对象使用节点js
- 在节点中创建文件全局变量
- gcloud节点-我如何确保通过签名URL上传到谷歌云存储的文件是公开可读的
- 文件的节点自动化移动到另一个文件夹中
- 节点:'最佳实践'使用其他js文件的js文件
- 仅首先需要使用jasmine从节点添加一个文件
- 节点如何将文件传递到http.write方法
- 正在读取节点中的配置文件
- 节点static不能为当前文件夹之上的文件夹提供服务
- 是javascript(用于节点)中用于忽略文件的任何微小库
- 需要来自单个JS文件的多个子模块与节点/组件.js
- 节点.js 使用可写流写入文件时出现 EBADF 错误
- 节点.js将文件从多个目录复制到一个目录
- 如何在 JStree 3 中显示叶节点的类似文件的图标
- 节点 - 将 JSON 文件加载到代码中
- REST路由多个文件节点js
- 删除包含文件节点js的文件夹