2013-06-06 18 views
0

我認爲標題說明了一切。但我想進一步解釋。Node.js - 如何將變量備份到文件並在服務器重新啓動時重新獲取它?

比方說,我有一個正在運行的nodejs服務器,它包含一個變量,它將包含(幾乎)所有服務器將存儲的數據。如果我想重新啓動服務器(由於 由於某些原因),如何備份這些變量以便關閉nodejs服務器 並在關閉時使用包含數據的變量重新啓動它是安全的?

問候, JoshuaLangit123

+0

你這是什麼意思備份?你不能使用任何數據庫或文件系統文件來存儲和重新找回嗎? – 2013-06-06 08:29:59

回答

2

下面是一些僞代碼來實現你想要做什麼:

  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(); 
    }) 
    
+0

這是一個很好的答案。謝謝。 :) – JoshuaLangit123

0

這取決於很多事情。通常你做的是使用一個數據庫(MongoDB中,MySQL的,等等)來存儲應用程序的狀態。用戶,會話等

如果你真的要轉儲所有的變量到一個文件中,可以讀/寫到(我認爲這聽起來像是一個非常非常非常糟糕的主意,但很難確定,除非我知道你在做什麼),你可以創建一個單獨的對象,將所有變量放入其中, ify並寫入磁盤。

然後當再次啓動節點實例時再次讀取該文件(或者甚至需要它)。

相關問題