【发布时间】:2016-12-04 01:07:42
【问题描述】:
我打算在服务器上使用 nodejs - 12 核,64 GB RAM。
如果我有这样的对象 -
obj= {x1: [user1_id, user2_id, user4_id, user89_id, user541_id],
x2: [user55_id, user44_id, user3_id, user89_id, user132_id],
.... }
问题:什么时候将 obj 存储为 Redis 哈希而不是 Nodejs 中的全局对象?
(在规模上,我预计会有大约 300,000 个键,每个键平均有 5 个元素)
(obj 的持久性不是问题)
问题:Nodejs 进程允许的最大堆大小是多少?
【问题讨论】:
-
如果您想使用 nodejs 集群来利用 12 个核心,那么您将需要使用 redis,以便多个集群进程都可以访问数据。使用 redis 还可以帮助您使用 nodejs 内存,因为您会将 redis 存储移动到另一个进程并移出 nodejs 进程。
-
如果我在主服务器进程中使用 cluster.fork() ,在分叉进程中是否无法访问全局变量?
-
全局变量不在 node.js 集群进程之间共享,也不与任何其他进程共享。
标签: javascript node.js performance redis heap-memory