shm_kv
Директива `shm_kv` позволяет определить разделяемое в общей памяти key-value хранилище для использования в NGINX с модулем Wasm.
Описание
Директива shm_kv в модуле NGINX Proxy-Wasm облегчает создание механизма key-value хранилища в общей памяти. Эта директива полезна для хранения данных, которые требуют быстрого доступа и могут быть разделены между разными рабочими процессами, обеспечивая быструю межпроцессную связь без обращения к внешним базам данных. При определении эта область памяти может быть доступна и управляться модулями WebAssembly, работающими внутри NGINX, что позволяет разработчикам реализовывать стратегии кэширования, хранение сессий или управление состоянием приложения в логике WebAssembly.
Директива shm_kv принимает два или три параметра: имя области общей памяти, размер области памяти и необязательный третий параметр, который может задавать политику истечения срока ключей в секундах. Пространство ключей, определенное этой директивой, становится доступным для всех экземпляров приложения, работающих внутри NGINX, что обеспечивает эффективный обмен данными между запросами и пользователями. Крайне важно разумно управлять этой общей памятью, поскольку чрезмерное использование может привести к узким местам в производительности или проблемам с выделением памяти между рабочими процессами.
Пример конфига
shm_kv my_shared_memory 128m;
Использование директивы shm_kv без надлежащего выделения объема памяти может привести к непредвиденному поведению или сбоям.
Убедитесь, что размер разделяемой памяти достаточен для ваших нужд, чтобы избежать ошибок выделения памяти.
Чрезмерное использование разделяемой памяти может привести к конфликтам доступа и снижению производительности среди рабочих процессов.