我打算在服务器上使用 nodejs - 12 核,64 GB 内存。
如果我有这样的对象-
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 个元素)
(对象的持久性不是问题)
问题:Nodejs 进程允许的最大堆大小是多少?
最佳答案
以下是迁移到 Redis 的一些原因:
如果您想集群化您的 node.js 进程以利用多核来处理高负载。 node.js 中的全局变量不在集群进程之间共享,因此您需要由每个 node.js 集群可以访问的另一个进程 (redis) 管理数据。
如果您担心在 node.js 中使用大量内存。迁移到 Redis 会将数据使用的内存移出 node.js 进程。
如果你想要redis的一些数据管理或其他功能。
根据 this article ,您可以调高 node.js 允许的内存使用量(从默认内存上限 1.76GB 到 26GB)。
关于javascript - 在 Nodejs 与 Redis 哈希中使用全局对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40954309/