1

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

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

问候, JoshuaLangit123

4

2 回答 2

3

这是一些伪代码来实现您想要做的事情:

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

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

    process.on( 'SIGINT', function() {
      fs.writeFileSync('data.json', JSON.stringify(data));
      process.exit();
    })
    
于 2013-06-06T09:53:53.153 回答
0

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

如果您确实想将所有变量转储到可以读取/写入的文件中(我认为这听起来是一个非常非常非常糟糕的主意,但除非我知道您在做什么,否则很难确定)您可以创建一个对象,您可以将所有变量放入其中,您可以将其 json-ify 并写入磁盘。

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

于 2013-06-06T08:57:26.200 回答