Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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 Node.js-如何将变量备份到文件并在服务器重新启动时重新获取它?_Javascript_Node.js_Socket.io - Fatal编程技术网

Javascript Node.js-如何将变量备份到文件并在服务器重新启动时重新获取它?

Javascript Node.js-如何将变量备份到文件并在服务器重新启动时重新获取它?,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我想标题说明了一切。但我想进一步解释 比方说,我有一个正在运行的nodejs服务器,其中包含一个变量,该变量将包含 (几乎)服务器将存储的所有数据。如果我想重新启动服务器(由于 由于某些原因),我如何备份变量以便安全地关闭nodejs服务器, 当我关闭它时,用包含数据的变量重新启动它 问候,, 这取决于很多事情。通常,您要做的是使用数据库(mongodb、mysql等)来存储应用程序状态。。用户、会话等 如果你真的想将所有变量转储到一个可以读/写的文件中(我觉得这听起来是个非常非常糟糕的主意,但

我想标题说明了一切。但我想进一步解释

比方说,我有一个正在运行的nodejs服务器,其中包含一个变量,该变量将包含 (几乎)服务器将存储的所有数据。如果我想重新启动服务器(由于 由于某些原因),我如何备份变量以便安全地关闭nodejs服务器, 当我关闭它时,用包含数据的变量重新启动它

问候,,
这取决于很多事情。通常,您要做的是使用数据库(mongodb、mysql等)来存储应用程序状态。。用户、会话等

如果你真的想将所有变量转储到一个可以读/写的文件中(我觉得这听起来是个非常非常糟糕的主意,但除非我知道你在做什么,否则很难确定),你可以制作一个对象,将所有变量放入其中,然后写入磁盘


然后在再次启动节点实例时再次读取(甚至需要)该文件。

以下是一些伪代码,以实现您想要执行的操作:

  • 启动时,读取data.json并将其值分配给单个数据变量:

    var data = JSON.parse(fs.readFileSync('data.json'));
    
  • 使用Ctrl-C关闭应用程序时,可以使用此处理程序将单个数据变量写回data.json

    process.on( 'SIGINT', function() {
      fs.writeFileSync('data.json', JSON.stringify(data));
      process.exit();
    })
    

  • 你说的备份是什么意思?您不能在重启时使用任何数据库或文件系统文件来存储和检索吗?这是一个很好的答案。谢谢。:)