Saltar a contenido

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.