Gerenciamento e Configuração de Parâmetros no Redis

Localização e Estrutura do Arquivo de Configuração

O gerenciamento de configurações no Redis é centralizado no arquivo redis.conf (denominado redis.windows.conf em ambientes Windows), situado no diretório de instalação da aplicação. Além da edição estática desse arquivo, o Redis disponibiliza a diretiva CONFIG para auditoria e alteração dinâmica de parâmetros em tempo de execução.

Inspeção de Parâmetros com CONFIG GET

Para consultar o estado atual de uma diretiva específica, utiliza-se o comando CONFIG GET seguido do nome do parâmetro.

127.0.0.1:6379> CONFIG GET maxmemory-policy
1) "maxmemory-policy"
2) "allkeys-lru"

Para filtrar múltiplas configurações relacionadas, é possível utilizar caracteres curinga (wildcards). O exemplo abaixo recupera todos os parâmetros associados ao limite e política de memória:

127.0.0.1:6379> CONFIG GET maxmemory*
1) "maxmemory"
2) "4294967296"
3) "maxmemory-policy"
4) "allkeys-lru"
5) "maxmemory-samples"
6) "10"

Modificação Dinâmica com CONFIG SET

Ajustes em tempo de execução podem ser aplicados via CONFIG SET. É importante notar que algumas alterações não persistem após o reinício do servidor, a menos que o comando CONFIG REWRITE seja executado posteriormente ou o arquivo redis.conf seja atualizado manualmente.

127.0.0.1:6379> CONFIG SET maxmemory "4gb"
OK
127.0.0.1:6379> CONFIG GET maxmemory
1) "maxmemory"
2) "4294967296"

Referência dos Principais Parâmetros do redis.conf

O arquivo de configuração possui centenas de diretivas. Abaixo estão agrupadas as configurações mais críticas para a operação, segurança e persistência de um cluster ou instância standalone.

1. Configurações de Rede e Acesso

  • bind: Define o endereço IP de interface que o Redis escutará. Restringir para 127.0.0.1 é fortemente recomendado para ambientes locais ou quando protegido por firewall.
  • port: Porta TCP de escuta. O padrão é 6379.
  • timeout: Tempo em segundos para encerrar conexões de clientes inativos. O valor 0 desativa essa verificação.
  • maxclients: Limita o número máximo de conexões simultâneas. O padrão é 0 (ilimitado, sujeito aos limites de descritores de arquivo do sistema operacional).
  • requirepass: Exige autenticação via comando AUTH para qualquer operação de cliente. Desativado por padrão.

2. Persistência de Dados (RDB e AOF)

  • save: Define a política de snapshot (RDB). Exemplo: save 300 10 aciona um salvamento se houver pelo menos 10 alterações em 300 segundos.
  • dbfilename: Nome do arquivo de dump RDB (padrão: dump.rdb).
  • dir: Diretório de trabalho onde os arquivos de persistência e logs serão gravados.
  • rdbcompression: Habilita compressão LZF para strings de dump. yes por padrão.
  • appendonly: Ativa o modo AOF (Append Only File). no por padrão.
  • appendfsync: Frequência de sincronização do AOF no disco. Opções: no (delega ao SO), always (a cada escrita, maior durabilidade), everysec (padrão, balanceamento ideal entre performance e segurança).

3. Replicação e Alta Disponibilidade

  • replicaof (historicamente slaveof): Configura a instância atual como réplica de um nó mestre, especificando o IP e a porta do líder.
  • masterauth: Senha para autenticação no nó mestre, utilizada caso a instância líder exija requirepass.
  • repl-timeout: Tempo limite em segundos para operações de replicação e pings de heartbeat.

4. Gerenciamento de Memória e Otimização

  • maxmemory: Limite máximo de memória RAM para o conjunto de dados. Ao atingir o limite, a política de evicção (definida em maxmemory-policy) é acionada para liberar espaço.
  • activerehashing: Haiblita o rehashing ativo para otimizar o uso de memória em tabelas hash, consumindo ciclos de CPU para evitar picos de latência. yes por padrão.

5. Logs e Daemonização

  • daemonize: Executa o Redis em background como um daemon. no por padrão (em Windows, esta opção é sempre no).
  • pidfile: Caminho do arquivo PID quando executado como daemon (ex: /var/run/redis_6379.pid).
  • loglevel: Nível de verbosidade do log. As opções são debug, verbose, notice e warning. O padrão é notice.
  • logfile: Caminho do arquivo de log. Se mantido vazio e o Redis estiver daemonizado, a saída padrão será redirecionada para /dev/null.

6. Configurações Legadas (Mecanismo de VM)

Nota técnica: O uso de Virtual Memory (VM) nativo do Redis foi descontinuado em versões modernas (a partir da 3.0), sendo substituído pelo gerenciamento de memória do sistema operacional. Os parâmetros abaixo aplicam-se estritamente a versões legadas (ex: 2.x).

  • vm-enabled: Ativa o swap de objetos para disco.
  • vm-swap-file: Caminho do arquivo de swap dedicado.
  • vm-max-memory: Limite de RAM antes de iniciar o swap de valores para o disco.

7. Inclusão de Arquivos

  • include: Permite importar diretivas de outros arquivos de configuração externos. Isso facilita a modularização e o compartilhamento de configurações base em ambientes com múltiplas instâncias na mesma máquina.

Tags: Redis nosql redis-configuration database-administration in-memory-data-store

Publicado em 6-22 00:02