NodeJS保存在Redis中的对象列表或列表?

时间:2012-12-11 16:36:28

标签: performance node.js redis

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

var onlineUsers = {}

包含用户对象

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

在线。

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

1 个答案:

答案 0 :(得分:1)

当您的潜在场景是数百万并发在线用户时,您需要运行多个Web服务器来为该负载提供服务。在您的Redis案例中,每个网络服务器都需要记录谁已登录并在共享数据存储中注销。

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

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