我有一个要求,在这个要求中,我必须对所有正在运行的进程使用一个具有相同值的变量,如果我从一个进程更改,则它应该反映在所有进程中。我的想法是在Java中有一个应用程序变量。
在Node js中,我仅使用了Heroku变量,并且没有其他节点变量的经验,因此,如果有人有任何想法请建议我,因为我们无法更新Heroku变量,这些变量可以作为常量工作。
谢谢
答案 0 :(得分:0)
最后,经过大量的研发,我得到了答案。我们可以在process object
中创建一个属性。在节点服务器中处理预定义的对象。
process.env.variable_name = 'Value';
您可以在任何过程中访问此值并在任何过程中进行更新。此过程的值在所有过程中始终相同。
console.log(process.env.variable_name);
答案 1 :(得分:-1)
我建议使用Redis之类的东西在进程之间共享数据,为此,有一个很棒的节点模块:https://github.com/NodeRedis/node_redis。您还可以在甚至没有在Node.js中编写的进程之间共享数据。
还可以将数据存储到非易失性存储中,这意味着在进程回收时您不会丢失数据。
如果需要,还可以使用一个Redis数据库在计算机之间共享数据。
例如
var redis = require("redis");
var redisConfig = {
"host": "127.0.0.1"
};
var redisClient = redis.createClient(redisConfig);
client.on("error", function (err) {
console.log("Error " + err);
});
client.set("key", "value");
client.get("key", function(err, reply) {
console.log(reply);
});