shm_kv

Директива `shm_kv` позволяет определить разделяемое в общей памяти key-value хранилище для использования в NGINX с модулем Wasm.

Синтаксисshm_kv name size [expire];
По умолчаниюnone
Контекст
Аргументы2-3

Описание

Директива shm_kv в модуле NGINX Proxy-Wasm облегчает создание механизма key-value хранилища в общей памяти. Эта директива полезна для хранения данных, которые требуют быстрого доступа и могут быть разделены между разными рабочими процессами, обеспечивая быструю межпроцессную связь без обращения к внешним базам данных. При определении эта область памяти может быть доступна и управляться модулями WebAssembly, работающими внутри NGINX, что позволяет разработчикам реализовывать стратегии кэширования, хранение сессий или управление состоянием приложения в логике WebAssembly.

Директива shm_kv принимает два или три параметра: имя области общей памяти, размер области памяти и необязательный третий параметр, который может задавать политику истечения срока ключей в секундах. Пространство ключей, определенное этой директивой, становится доступным для всех экземпляров приложения, работающих внутри NGINX, что обеспечивает эффективный обмен данными между запросами и пользователями. Крайне важно разумно управлять этой общей памятью, поскольку чрезмерное использование может привести к узким местам в производительности или проблемам с выделением памяти между рабочими процессами.

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

shm_kv my_shared_memory 128m;

Использование директивы shm_kv без надлежащего выделения объема памяти может привести к непредвиденному поведению или сбоям.

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

Чрезмерное использование разделяемой памяти может привести к конфликтам доступа и снижению производительности среди рабочих процессов.

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