Перейти к содержанию

keyval: Модуль Nginx для хранилища ключ-значение

Установка

Вы можете установить этот модуль в любой дистрибутив, основанный на RHEL, включая, но не ограничиваясь:

  • RedHat Enterprise Linux 7, 8, 9 и 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 и Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-keyval
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-keyval

Включите модуль, добавив следующее в верхнюю часть файла /etc/nginx/nginx.conf:

load_module modules/ngx_http_keyval_module.so;

Этот документ описывает nginx-module-keyval v0.4.0, выпущенный 30 марта 2026 года.


Обзор

nginx-keyval — это динамический модуль хранилища ключ-значение для nginx. Он был разработан, вдохновленный коммерческой версией модуля nginx ngx_http_keyval_module.

Лицензия: MIT License

Ключевые особенности

  • Двойной бэкенд: Поддерживает два типа хранилищ: общую память (SHM) и Redis
  • Поддержка HTTP / Stream: Работает как в контексте HTTP, так и в контексте Stream
  • Поддержка TTL: Конфигурируемое время истечения для пар ключ-значение
  • Составные ключи: Создание ключей путем комбинирования нескольких переменных и литералов (например, $remote_addr:$http_user_agent)
  • Расширение переменных: Используйте переменные nginx в качестве ключей, динамически расширяемых во время выполнения

Быстрый старт

Смотрите INSTALL.md для инструкций по установке.

Пример минимальной конфигурации

http {
    keyval_zone zone=one:32k;
    keyval $arg_text $text zone=one;

    server {
        listen 80;

        location / {
            return 200 $text;
        }
    }
}

Эта конфигурация извлекает значение из зоны общей памяти one, используя параметр запроса text в качестве ключа, и сохраняет его в переменной $text.

Директивы

Директива Описание Контекст
keyval Определить переменную из пар ключ-значение http, stream
keyval_zone Определить зону общей памяти http, stream
keyval_zone_redis Определить зону Redis http, stream

Смотрите DIRECTIVES.md для подробной справки по директивам.

Связанная документация

Конфигурация и операции: - DIRECTIVES.md: Справочник по директивам - EXAMPLES.md: Примеры конфигурации - INSTALL.md: Инструкции по установке - SECURITY.md: Рекомендации по безопасности - TROUBLESHOOTING.md: Руководство по устранению неполадок

Справка: - COMMERCIAL_COMPATIBILITY.md: Совместимость с коммерческой версией

GitHub

Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-keyval.