我一直在阅读here和here关于Node Js集群模块行为的信息。我想引用this article:
如果产生应用程序的多个实例,则每个进程将 有自己的内存空间。这意味着即使您正在 当您在全局变量中存储一些值时,一台机器,或者 通常是内存中的会话,如果 平衡器在下一个请求期间将您重定向到另一个进程。
我的问题是:
如果在像这样的普通简单Map中存储一些数据:
const userData = new Map();
io.on("connection", socket => {
socket.on("join", data => {
const room = data.room;
const username = data.username;
userData.set(username, "some custom value")
socket.join(room, error => {
if (error) throw error;
socket.emit("hello", userData);
});
});
}
这样使用数据时,我的数据是否可以持久保存并通过我的Node js应用程序访问?
socket.on("anotherEvent", user => {
socket.emit("whatever", userData.get(user));
});
我一直为此目的使用数据库。但是我想知道是否可以在一些简单的用例中使用内置对象和数组。 感谢您的支持。