如何从服务器内存中删除变量?

Alv*_*vin 2 node.js pci-compliance

我有一个需要遵守 PCI/DSS 标准的 Nodejs 应用程序。

例子 :

let number = "91029039102930193092"
Run Code Online (Sandbox Code Playgroud)

如何有效地将其从内存或 V8 垃圾收集器 (GC) 中删除?

我可以这样做:number = ""将其重置为空字符串吗?

pon*_*tek 5

您可以使用--expose_gc标志运行节点。在你的代码中你可以这样做

number = ""; 
Run Code Online (Sandbox Code Playgroud)

或者

delete number;
Run Code Online (Sandbox Code Playgroud)

在这个强制 gc 之后

global.gc();
Run Code Online (Sandbox Code Playgroud)

这将使您可以立即释放内存

delete number;
global.gc();
Run Code Online (Sandbox Code Playgroud)

和更安全的方式

number = undefined;
global.gc();
Run Code Online (Sandbox Code Playgroud)