gpt4 book ai didi

node.js - Nodejs 中文件的原子写入/读取

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:12 25 4
gpt4 key购买 nike

我的nodejs应用程序是围绕“项目文件”构建的。

此应用程序的几个模块(“模块”,我的项目的一个简单的 javascript 文件)需要经常通过流(fs.createReadStream、fs.createWriteStream)加载、修改和保存此文件,并且因为这些模块彼此独立执行,有时源自 websocket 事件(例如),我需要使项目文件的保存/加载操作原子

这意味着以下场景:

  1. moduleA写入项目文件
  2. 同时,在 moduleA 完成写入文件之前,moduleB 想要读取该文件 => 理想情况下,它应该等待 moduleA 的写入操作(目前,它读取部分写入的文件并检测到错误)在真正读取文件之前

nodejs 是否能够本地执行此操作,或者我是否必须在读/写流系统上构建某种原子包装器?

最佳答案

据我所知,没有任何内置功能。不过,有一些模块(例如 redis-lock)实现了锁定机制。如果您在单个非集群服务器上运行,您可能可以应对实现简单的本地锁。

关于node.js - Nodejs 中文件的原子写入/读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28701820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com