A comunidade Valkey anunciou a disponibilização da versão 9.1.0, que traz melhorias significativas nas áreas de segurança, observabilidade, desempenho, eficiência e ferramentas de gerenciamento. Mais de oitenta colaboradores participaram da construção desse release, que substitui a série 9.0 e amplia recursos já presentes no banco de dados em memória.
Segurança
Controle de acesso por banco de dados
A nova ACL permite definir permissões de comandos e chaves por banco de dados, facilitando o isolamento em ambientes multi‑tenant. Exemplo de criação de usuário com acesso restrito aos bancos 0 e 1:
ACL SETUSER app-user on >secretpass +@all ~* db=0,1
Após a autenticação, o usuário pode operar no banco 0, mas recebe erro ao tentar acessar o banco 2.
Lua como módulo
O mecanismo de scripts Lua foi desacoplado do núcleo e transformado em módulo. Isso reduz a superfície de ataque e possibilita desabilitar o recurso quando não for necessário. O comando INFO agora exibe a seção Scripting Engines listando os módulos carregados.
Melhorias no TLS
- Exibição da data de expiração dos certificados via
INFO. - Reload automático de certificados em background, permitindo rotação sem downtime.
- Suporte a autenticação mTLS usando SAN URIs.
Observabilidade
Métricas de uso das threads
Novas métricas cumulativas para a thread principal e as threads de I/O ajudam a distinguir entre alta utilização real e loops ociosos que inflavam o uso de CPU.
Logs em JSON
Com a diretiva log-format json no arquivo valkey.conf, os logs são emitidos como objetos JSON individuais, prontos para ingestão em ferramentas como Elastic, Splunk ou Loki.
log-format json
Exemplo de saída JSON:
{"pid":14500,"role":"primary","timestamp":"14 May 2026 14:13:02.921","level":"notice","message":"Valkey is starting"}
Desempenho
Valkey 9.1 atinge 2,1 milhões de requisições por segundo (payload de 512 bytes, 9 threads de I/O e pipeline de 10 comandos). Destaques de otimização:
- Novo modelo de threads de I/O – até 17 % de ganho de throughput.
- Operações em Streams –
XRANGEeXREVRANGEficam 30 % mais rápidas. - GETs de strings – aumento de até 30 % ao elevar o limite de tamanho de embed.
- Sorted Sets – consultas como
ZRANGEBYSCOREeZRANGEBYLEXrecebem otimizações de skiplist. - Cache de respostas do comando
COMMAND– reduz o tempo de estabelecimento de conexão. - Uso de hardware clock habilitado por padrão – melhora GET/SET em até 3 %.
Os resultados completos podem ser visualizados nos Valkey Performance Dashboards.
Eficiência de memória
- Strings – otimizações de ponteiro reduzem até 20 % o consumo para valores menores que 128 bytes.
- Sorted Sets – otimizações de skiplist diminuem o uso de memória em até 10 %.
- Rehashing – aprimoramento do algoritmo interno reduz latência durante expansão de tabelas hash.
- Exclusões em massa – pausa o redimensionamento da hash durante
SREM,ZREMeHDEL, acelerando a remoção em lote. - Criação de réplicas com AOF – reutiliza o RDB recebido, evitando a geração de snapshot adicional.
Novos comandos
HGETDEL
Recupera e remove campos de um hash em uma única operação, ideal para padrões de fila.
HSET job:42 status "pending" payload '{"action":"send_email"}' retries "3"
HGETDEL job:42 FIELDS 2 status payload
MSETEX
Define múltiplas chaves com o mesmo TTL em um único comando, com suporte a NX.
MSETEX 3 session:abc "user:1" session:def "user:2" session:ghi "user:3" EX 3600
CLUSTERSCAN
Varre todas as chaves de um cluster de forma unificada, eliminando a necessidade de varrer cada nó separadamente.
CLUSTERSCAN 0 MATCH "session:*"
Ferramentas aprimoradas
- CLI – parâmetro
--cluster-use-atomic-slot-migrationpermite migração atômica de slots durante rebalanceamento ou reshard. - valkey-benchmark – inclui distribuição de RPS, além de novos parâmetros
--warmupe--durationpara controle fino dos testes.
Contribuições
Mais de 80 colaboradores participaram da versão 9.1. A lista completa de mudanças está disponível nas notas de lançamento do GitHub: 9.1.0‑rc1 e 9.1.0‑rc2.
A comunidade é incentivada a testar o Valkey 9.1, reportar feedback e contribuir para as próximas versões.