js_shared_dict_zone

Определяет зону разделяемой памяти для хранения данных, доступных скриптам NJS в контексте stream NGINX.

Синтаксисjs_shared_dict_zone name size;
По умолчаниюnone
Контекстstream
Аргументы1+

Описание

Директива js_shared_dict_zone позволяет создать зону разделяемой памяти, предназначенную специально для использования со скриптами NJS в контексте stream NGINX. Эта директива задаёт один или несколько разделяемых словарей, к которым можно получить доступ из JavaScript через модуль NJS. Благодаря включению хранения в разделяемой памяти скрипты могут обмениваться данными между различными рабочими процессами, что особенно полезно для кэширования данных или других операций управления общим состоянием.

Синтаксис требует как минимум одного аргумента — имени зоны памяти, и может опционально включать определения размера. Это даёт возможность точно контролировать, сколько памяти выделяется и как структурируются данные для эффективного доступа. Контекст stream — это место, где должна быть размещена директива, что делает её актуальной при обработке TCP- или UDP-потоков данных. Преимущества использования разделяемых словарей включают снижение накладных расходов при повторных запросах данных и возможность для скриптов NJS сохранять состояние в ходе нескольких соединений.

При настройке js_shared_dict_zone важно правильно оценивать потребности в хранении и стратегии распределения памяти, поскольку чрезмерное использование памяти может привести к снижению производительности. Каждый разделяемый словарь работает независимо, что позволяет определять несколько зон для разных целей в зависимости от потребностей приложения.

Пример конфига

js_shared_dict_zone my_cache 10m;

Убедитесь, что указанный объём памяти достаточен для ожидаемой нагрузки данных, поскольку превышение лимитов может привести к ухудшению производительности.

Не забудьте правильно настроить права доступа при совместном использовании данных между рабочими процессами.

Избегайте использования больших объектов, которые могут вызвать значительные накладные расходы при передаче.

← Ко всем директивам