Я намерен использовать nodejs на сервере - 12 ядер, 64 ГБ оперативной памяти.Использование глобального объекта vs Redis (nodejs)
Если у меня есть объект, как так -
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, а не в глобальном объекте? (В масштабе, я ожидаю иметь ~ 300000 ключей в среднем по 5 элементов в каждом)
(Постоянство OBJ не проблема)
Вопрос: Что позволено как максимальный размер кучи nodejs процесс?
Если вы захотите использовать nodejs-кластеризацию для использования 12 ядер, тогда вы захотите использовать redis, чтобы все кластерные процессы могли получить доступ к данным. Использование redis также поможет вам с использованием памяти nodejs, поскольку вы будете перемещать redis-хранилище в другой процесс и из процесса nodejs. – jfriend00
Если я использую cluster.fork() внутри основного процесса сервера, глобальные переменные не будут доступны внутри разветвленных процессов? – vjjj
Глобалы не разделяются между кластеризованными процессами node.js или совместно с другими процессами. – jfriend00