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.