2017-07-11 76 views
0

我有一個nodejs應用程序需要符合PCI/DSS標準。如何從服務器內存中刪除變量?

例子:

let number = "91029039102930193092" 

如何從內存或V8白菜收集有效去除呢?

我可以這樣做:number = ""將其重置爲空字符串?

+0

是的,您可以執行'number =「」'或'delete number;' –

+0

@ ponury-kostek,它不一定會立即將它從內存中刪除。 – robertklep

+1

聲明的變量在哪裏?如果它在一個函數中,當函數完成執行時,變量將被垃圾回收。如果它是全局作用域,它可能會留在nodejs應用程序的整個生命週期內存中。 –

回答

1

您可以使用--expose_gc標誌運行節點。在你的代碼,那麼你可以做

number = ""; 

delete number; 

這個力GC

global.gc(); 

後,這會給你可能立即釋放內存

delete number; 
global.gc(); 

和更安全的方式

number = undefined; 
global.gc();