我有一个内存中的javascript对象,我在节点启动时初始化它。我正在使用群集模块在多个核心上运行此节点应用程序。当我收到一个http请求时,它被一个工作线程接收,改变了javascript对象的值。我需要确保所有工作线程都反映出这个更改的值?我该怎么办?
答案 0 :(得分:0)
子进程无法共享变量,因为每个工作程序都是使用child_process.spawn
创建的功能齐全的进程。
使用快速的内存中键值数据库(如Redis和node-redis)来执行此操作。
这样,当您的应用程序启动时,您可以序列化您的JS对象并将其分配给Redis密钥。然后,工作人员将对同一个键执行所有读取更新操作。我个人推荐这种方式。