1

我正在开发一个带有在线用户列表的应用程序。现在我在nodejs中定义了全局变量

var onlineUsers = {}

其中包含用户对象

var userObj = {
username: 'johndoe',
fullname: 'John Doe',
user_id: 234242
}

在线。

我的问题是,考虑到可能有数百万在线用户的潜在场景,将在线用户对象放在 Redis 中会更好还是保持原样?

4

1 回答 1

1

当您的潜在场景是数百万并发在线用户时,您将需要运行多个网络服务器来处理该负载。每个网络服务器都需要记录谁在共享数据存储中登录和注销,在你的情况下是 Redis。

性能方面,将其存储在本地内存中将是最快的,但根本不可扩展。

如果您刚开始开发此站点,那么内存中的解决方案可能是可以接受的,因此您可以专注于实现产品功能并在以后执行可扩展的 Redis 解决方案。特别是如果您只需要 Redis 来实现这个单一功能。

于 2012-12-11T16:44:50.187 回答