keyval: Módulo de Nginx para el almacenamiento clave-valor
Instalación
Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:
- RedHat Enterprise Linux 7, 8, 9 y 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 y 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
Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:
load_module modules/ngx_http_keyval_module.so;
Este documento describe nginx-module-keyval v0.4.0 lanzado el 30 de marzo de 2026.
Descripción general
nginx-keyval es un módulo dinámico de almacenamiento clave-valor para nginx. Fue desarrollado inspirado en la versión comercial del ngx_http_keyval_module de nginx.
Licencia: Licencia MIT
Características clave
- Backend dual: Soporta dos tipos de backends de almacenamiento: memoria compartida (SHM) y Redis
- Soporte HTTP / Stream: Funciona en contextos tanto HTTP como Stream
- Soporte TTL: Tiempo de expiración configurable para pares clave-valor
- Claves compuestas: Construye claves combinando múltiples variables y cadenas literales (por ejemplo,
$remote_addr:$http_user_agent) - Expansión de variables: Usa variables de nginx como claves, expandidas dinámicamente en tiempo de ejecución
Inicio rápido
Consulta INSTALL.md para instrucciones de instalación.
Ejemplo de configuración mínima
http {
keyval_zone zone=one:32k;
keyval $arg_text $text zone=one;
server {
listen 80;
location / {
return 200 $text;
}
}
}
Esta configuración recupera un valor de la zona de memoria compartida one utilizando el parámetro de consulta text como clave, y lo almacena en la variable $text.
Directivas
| Directiva | Descripción | Contexto |
|---|---|---|
keyval |
Define una variable a partir de pares clave-valor | http, stream |
keyval_zone |
Define una zona de memoria compartida | http, stream |
keyval_zone_redis |
Define una zona de Redis | http, stream |
Consulta DIRECTIVES.md para una referencia detallada de las directivas.
Documentación relacionada
Configuración y operaciones: - DIRECTIVES.md: Referencia de Directivas - EXAMPLES.md: Ejemplos de Configuración - INSTALL.md: Instrucciones de Instalación - SECURITY.md: Directrices de Seguridad - TROUBLESHOOTING.md: Guía de Solución de Problemas
Referencia: - COMMERCIAL_COMPATIBILITY.md: Compatibilidad con la Versión Comercial
GitHub
Puedes encontrar consejos adicionales de configuración y documentación para este módulo en el repositorio de GitHub para nginx-module-keyval.