如何在Node Js应用程序中创建应用程序变量

时间:2018-08-09 12:47:46

标签: node.js heroku environment-variables

我有一个要求,在这个要求中,我必须对所有正在运行的进程使用一个具有相同值的变量,如果我从一个进程更改,则它应该反映在所有进程中。我的想法是在Java中有一个应用程序变量。

在Node js中,我仅使用了Heroku变量,并且没有其他节点变量的经验,因此,如果有人有任何想法请建议我,因为我们无法更新Heroku变量,这些变量可以作为常量工作。

谢谢

2 个答案:

答案 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);
});