2012-12-11 63 views
0

我正在开发一个在线用户列表的应用程序。现在我已经定义的NodeJS全局变量NodeJS保存在Redis中的对象或列表的列表?

var onlineUsers = {} 

其中包含用户对象

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

处于联机状态。

我的问题是,如果将该在线用户对象放入Redis中,还是可以保持原样,考虑潜在情景,它将成为数百万的在线用户,性能会更好吗?

回答

1

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

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

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