Предзагруженные объекты

Для каждого входящего запроса в njs создаётся отдельная виртуальная машина. Это позволяет прогнозировать предсказуемое поглощение памяти или осуществить изоляцию запросов. Однако поскольку все запросы являются изолированными, то если обработчику запроса необходимо получить доступ к данным, ему нужно сначала их прочитать самому. Это неэффективно, особенно если объём данных большой.

Это ограничение можно обойти при помощи разделяемого предзагруженного объекта. Такие объекты создаются неизменяемыми и не имеют цепочки прототипов: у них нет возможности изменить значения или добавить/удалить свойства в объектах/массивах.

Работа с предзагруженными объектами

Примеры работы с предзагруженными объектами в njs: