我有一个名为 number_of_clusters 的变量,必须定期更新。还必须与其他模块共享 number_of_clusters 才能阅读它。我怎样才能确保阅读模块每次访问时都会读取该变量的新副本? 我不想使用数据库来共享这个变量,所以我想我可以通过process.env分享它。
process.env.number_of_clusters = 1;
这是一个好习惯吗?
答案 0 :(得分:0)
看起来像是在搜索全局变量:
global. number_of_clusters = 1
然而,使用数据库或文件可能是一个更好的解决方案。
答案 1 :(得分:0)
尝试在文件中读/写?
var fs = require('fs');
fs.writeFile("/path/to/file", "whatever", function(err) {
console.log("The file was saved!");
});
fs.readFile('/path/to/file', 'utf8', function(err, contents) {
console.log(contents); // -> whatever
});
答案 2 :(得分:0)
如果其他模块作为同一Nodejs进程的一部分运行,
您只需将getter
导出到其他模块即可获得number_of_clusters
的最新值。
像:
function get_number_of_clusters() {
return number_of_clusters;
}
module.exports = { get_number_of_clusters };
现在在其他模块中,您需要导入此模块并调用此方法,如:
var getter = require('path/to/above/module').get_number_of_clusters;
var number_of_clusters = getter();
答案 3 :(得分:-1)
您可以使用socket.io将变量存储在服务器上,并将其发送到所有页面。