Pular para conteúdo

keyval: Módulo Nginx para armazenamento de chave-valor

Instalação

Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:

  • RedHat Enterprise Linux 7, 8, 9 e 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 e 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

Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:

load_module modules/ngx_http_keyval_module.so;

Este documento descreve o nginx-module-keyval v0.4.0 lançado em 30 de março de 2026.


Visão Geral

nginx-keyval é um módulo dinâmico de armazenamento de chave-valor para nginx. Foi desenvolvido inspirado na versão comercial do ngx_http_keyval_module do nginx.

Licença: Licença MIT

Principais Recursos

  • Backend Duplo: Suporta dois tipos de backends de armazenamento: memória compartilhada (SHM) e Redis
  • Suporte a HTTP / Stream: Funciona em contextos HTTP e Stream
  • Suporte a TTL: Tempo de expiração configurável para pares de chave-valor
  • Chaves Compostas: Crie chaves combinando várias variáveis e strings literais (por exemplo, $remote_addr:$http_user_agent)
  • Expansão de Variáveis: Use variáveis do nginx como chaves, expandidas dinamicamente em tempo de execução

Início Rápido

Veja INSTALL.md para instruções de instalação.

Exemplo Mínimo de Configuração

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

    server {
        listen 80;

        location / {
            return 200 $text;
        }
    }
}

Esta configuração recupera um valor da zona de memória compartilhada one usando o parâmetro de consulta text como chave, e o armazena na variável $text.

Diretivas

Diretiva Descrição Contexto
keyval Define uma variável a partir de pares de chave-valor http, stream
keyval_zone Define uma zona de memória compartilhada http, stream
keyval_zone_redis Define uma zona Redis http, stream

Veja DIRECTIVES.md para referência detalhada das diretivas.

Documentação Relacionada

Configuração & Operações: - DIRECTIVES.md: Referência de Diretivas - EXAMPLES.md: Exemplos de Configuração - INSTALL.md: Instruções de Instalação - SECURITY.md: Diretrizes de Segurança - TROUBLESHOOTING.md: Guia de Solução de Problemas

Referência: - COMMERCIAL_COMPATIBILITY.md: Compatibilidade com a Versão Comercial

GitHub

Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-keyval.